From 60d8dedd571e737eff4dc65a7d275e470c8478ea Mon Sep 17 00:00:00 2001 From: salaheldinsoliman Date: Fri, 31 May 2024 13:27:56 +0200 Subject: [PATCH 01/69] add solang playground milestone 2 Signed-off-by: salaheldinsoliman --- deliveries/Solang_Playground-milestone-2.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 deliveries/Solang_Playground-milestone-2.md diff --git a/deliveries/Solang_Playground-milestone-2.md b/deliveries/Solang_Playground-milestone-2.md new file mode 100644 index 000000000..e69de29bb From e469bfdfd81408081bb2c2970f8d26f9f1aa03d7 Mon Sep 17 00:00:00 2001 From: salaheldinsoliman Date: Sun, 2 Jun 2024 14:49:29 +0200 Subject: [PATCH 02/69] add solang playground milestone 2 Signed-off-by: salaheldinsoliman --- deliveries/Solang_Playground-milestone-2.md | 0 deliveries/Solang_Playground-milestone_2.md | 21 +++++++++++++++++++++ 2 files changed, 21 insertions(+) delete mode 100644 deliveries/Solang_Playground-milestone-2.md create mode 100644 deliveries/Solang_Playground-milestone_2.md diff --git a/deliveries/Solang_Playground-milestone-2.md b/deliveries/Solang_Playground-milestone-2.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/deliveries/Solang_Playground-milestone_2.md b/deliveries/Solang_Playground-milestone_2.md new file mode 100644 index 000000000..f0d1531b3 --- /dev/null +++ b/deliveries/Solang_Playground-milestone_2.md @@ -0,0 +1,21 @@ +# Milestone Delivery :mailbox: + +**The delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).** + +* **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/Solang_Playground.md +* **Milestone Number:** 2 + +**Context** +This milestone involves adding a `compile` functionality to the language server. This is carried out by developing a back-end server that is responsible for the following: +1- Compile Solidity source files. +2- Return Compiled byte-code as well as contracts metadata to the client (front-end), and download them. + + +**Deliverables** + + +| Number | Deliverable | Link | Notes | +| ------ | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1. | Solang Playground with compile functionality | -Repo: https://labs.hyperledger.org/solang-playground/ .
-Demo: https://drive.google.com/file/d/1NmuBdEieE54ojBB_axXifcLNctv-KSWW/view
-amd64 docker image: https://hub.docker.com/repository/docker/tareknaser360/solang-playground-amd64/general .
hosted editor (for easier testing purposes): http://labs.hyperledger.org/solang-playground/ | + + From 5d15775ab0aa7bced1fe395ecaf15c467d382779 Mon Sep 17 00:00:00 2001 From: salaheldinsoliman Date: Thu, 13 Jun 2024 15:53:26 +0200 Subject: [PATCH 03/69] update solang playground milestone 2 Signed-off-by: salaheldinsoliman --- deliveries/Solang_Playground-milestone_2.md | 25 ++++++++++----------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/deliveries/Solang_Playground-milestone_2.md b/deliveries/Solang_Playground-milestone_2.md index f0d1531b3..38b584483 100644 --- a/deliveries/Solang_Playground-milestone_2.md +++ b/deliveries/Solang_Playground-milestone_2.md @@ -1,21 +1,20 @@ # Milestone Delivery :mailbox: -**The delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).** +**The delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).** -* **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/Solang_Playground.md -* **Milestone Number:** 2 +- **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/Solang_Playground.md +- **Milestone Number:** 2 -**Context** +**Context** This milestone involves adding a `compile` functionality to the language server. This is carried out by developing a back-end server that is responsible for the following: -1- Compile Solidity source files. +1- Compile Solidity source files. 2- Return Compiled byte-code as well as contracts metadata to the client (front-end), and download them. - **Deliverables** - - -| Number | Deliverable | Link | Notes | -| ------ | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| 1. | Solang Playground with compile functionality | -Repo: https://labs.hyperledger.org/solang-playground/ .
-Demo: https://drive.google.com/file/d/1NmuBdEieE54ojBB_axXifcLNctv-KSWW/view
-amd64 docker image: https://hub.docker.com/repository/docker/tareknaser360/solang-playground-amd64/general .
hosted editor (for easier testing purposes): http://labs.hyperledger.org/solang-playground/ | - - +| Number | Deliverable | Link | Notes | +| ------ | ----------- | ---- |----------------- | +| _0a._ | License | https://github.com/hyperledger-labs/solang-playground/blob/main/LICENSE | +| _0b._ | Documentation | https://github.com/hyperledger-labs/solang-playground/blob/main/README.md | +| _0c._ | Testing and Testing Guide | https://github.com/hyperledger-labs/solang-playground/blob/main/README.md#testing | +| _0d._ | Docker | https://github.com/hyperledger-labs/solang-playground/blob/main/README.md#docker | +| 1. | Solang Playground with compile functionality | -Repo: https://github.com/hyperledger-labs/solang-playground
-Demo: https://drive.google.com/file/d/1NmuBdEieE54ojBB_axXifcLNctv-KSWW/view
-amd64 docker image: https://hub.docker.com/repository/docker/tareknaser360/solang-playground-amd64/general .
hosted editor (for easier testing purposes): http://labs.hyperledger.org/solang-playground/ | From 7e8016eb5bf3cb41bda961aabff4beff58993f4c Mon Sep 17 00:00:00 2001 From: Barath kanna <93442895+beekay2706@users.noreply.github.com> Date: Fri, 5 Jul 2024 21:20:58 +0530 Subject: [PATCH 04/69] Create cyborg.md --- deliveries/cyborg.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 deliveries/cyborg.md diff --git a/deliveries/cyborg.md b/deliveries/cyborg.md new file mode 100644 index 000000000..afb33c6c2 --- /dev/null +++ b/deliveries/cyborg.md @@ -0,0 +1,23 @@ +Milestone Delivery 📫 +⚡ Only the GitHub account that submitted the application is allowed to submit milestones. + +Don't remove any of the mandatory parts presented in bold letters or as headlines! Lines starting with >, such as this one, can be removed. + +The delivery is according to the official milestone delivery guidelines. + +Application Document: https://github.com/w3f/Grants-Program/blob/master/applications/dotnix.md +Milestone Number: 1 +Context (optional) +Deliverables + +Number Deliverable Link +0a. License https://github.com/sporyon/dotnix-core/blob/main/LICENSE +0b. Documentation https://github.com/sporyon/dotnix-core/blob/main/README.md +0c. Testing and Testing Guide https://github.com/sporyon/dotnix-core/tree/main/checks +0d. Docker https://github.com/sporyon/dotnix-core/blob/main/docker.nix +0e. Article https://github.com/sporyon/dotnix-core/blob/main/article.md +1. Package Polkadot binary https://github.com/sporyon/dotnix-core/blob/main/flake.nix#L31 +2. NixOS Validator Module https://github.com/sporyon/dotnix-core/blob/main/nixosModules/polkadot-validator.nix +3. Secret Management https://github.com/sporyon/dotnix-core/blob/main/nixosModules/polkadot-validator.nix#L61-L97 +4. Tests for secret maangement https://github.com/sporyon/dotnix-core/blob/main/checks/polkadot-validator-secrets.nix +5. Basic Security Hardening https://github.com/sporyon/dotnix-core/blob/main/nixosModules/polkadot-validator.nix#L112 From 3083bdf647223169742e799af8ff355a0fad6bdf Mon Sep 17 00:00:00 2001 From: Barath kanna <93442895+beekay2706@users.noreply.github.com> Date: Fri, 5 Jul 2024 21:21:56 +0530 Subject: [PATCH 05/69] Update cyborg.md --- deliveries/cyborg.md | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/deliveries/cyborg.md b/deliveries/cyborg.md index afb33c6c2..1ca033163 100644 --- a/deliveries/cyborg.md +++ b/deliveries/cyborg.md @@ -1,23 +1,26 @@ -Milestone Delivery 📫 -⚡ Only the GitHub account that submitted the application is allowed to submit milestones. +# Milestone Delivery :mailbox: -Don't remove any of the mandatory parts presented in bold letters or as headlines! Lines starting with >, such as this one, can be removed. +> ⚡ Only the GitHub account that submitted the application is allowed to submit milestones. +> +> Don't remove any of the mandatory parts presented in bold letters or as headlines! Lines starting with `>`, such as this one, can be removed. -The delivery is according to the official milestone delivery guidelines. +**The delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).** -Application Document: https://github.com/w3f/Grants-Program/blob/master/applications/dotnix.md -Milestone Number: 1 -Context (optional) -Deliverables +* **Application Document:** In the case of a public [Grants Program](https://github.com/w3f/Grants-Program) application, please provide a link to the merged contract (the `.md` file in the [applications](https://github.com/w3f/Grants-Program/tree/master/applications) directory). In the case of a private application, please provide the name of the project. +* **Milestone Number:** e.g. 1 -Number Deliverable Link -0a. License https://github.com/sporyon/dotnix-core/blob/main/LICENSE -0b. Documentation https://github.com/sporyon/dotnix-core/blob/main/README.md -0c. Testing and Testing Guide https://github.com/sporyon/dotnix-core/tree/main/checks -0d. Docker https://github.com/sporyon/dotnix-core/blob/main/docker.nix -0e. Article https://github.com/sporyon/dotnix-core/blob/main/article.md -1. Package Polkadot binary https://github.com/sporyon/dotnix-core/blob/main/flake.nix#L31 -2. NixOS Validator Module https://github.com/sporyon/dotnix-core/blob/main/nixosModules/polkadot-validator.nix -3. Secret Management https://github.com/sporyon/dotnix-core/blob/main/nixosModules/polkadot-validator.nix#L61-L97 -4. Tests for secret maangement https://github.com/sporyon/dotnix-core/blob/main/checks/polkadot-validator-secrets.nix -5. Basic Security Hardening https://github.com/sporyon/dotnix-core/blob/main/nixosModules/polkadot-validator.nix#L112 +**Context** (optional) +> Please provide a short paragraph or two connecting the deliverables in this milestone and describing their purpose. + +**Deliverables** +> Please provide a list of all deliverables of the milestone extracted from the initial application and a link to the deliverable itself. Ideally all links inside the below table should include a commit hash, which will be used for testing. If you don't provide a commit hash, we will work off the default branch of your repository. Thus, if you plan on continuing work after delivery, we suggest you create a separate branch for either the delivery or your continuing work. +> +> If there is anything particular about any of the deliverables we or a future reader should know, use the respective `Notes` column. + +| Number | Deliverable | Link | Notes | +| ------------- | ------------- | ------------- |------------- | +| 1. | ... |...| ...| +| 2. | ... |...| ...| + +**Additional Information** +> Any further comments on the milestone that you would like to share with us. From f5c77b3c4346d53a8ece285bc1387e649003399a Mon Sep 17 00:00:00 2001 From: Barath kanna <93442895+beekay2706@users.noreply.github.com> Date: Fri, 5 Jul 2024 21:22:49 +0530 Subject: [PATCH 06/69] Update cyborg.md --- deliveries/cyborg.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/deliveries/cyborg.md b/deliveries/cyborg.md index 1ca033163..7abdb21f2 100644 --- a/deliveries/cyborg.md +++ b/deliveries/cyborg.md @@ -1,9 +1,5 @@ # Milestone Delivery :mailbox: -> ⚡ Only the GitHub account that submitted the application is allowed to submit milestones. -> -> Don't remove any of the mandatory parts presented in bold letters or as headlines! Lines starting with `>`, such as this one, can be removed. - **The delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).** * **Application Document:** In the case of a public [Grants Program](https://github.com/w3f/Grants-Program) application, please provide a link to the merged contract (the `.md` file in the [applications](https://github.com/w3f/Grants-Program/tree/master/applications) directory). In the case of a private application, please provide the name of the project. From ab0aedd1b0076d91da78fc51d6a04c42164454d8 Mon Sep 17 00:00:00 2001 From: Barath kanna <93442895+beekay2706@users.noreply.github.com> Date: Fri, 12 Jul 2024 13:42:24 +0530 Subject: [PATCH 07/69] Update cyborg.md --- deliveries/cyborg.md | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/deliveries/cyborg.md b/deliveries/cyborg.md index 7abdb21f2..4ab76c3d4 100644 --- a/deliveries/cyborg.md +++ b/deliveries/cyborg.md @@ -2,21 +2,26 @@ **The delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).** -* **Application Document:** In the case of a public [Grants Program](https://github.com/w3f/Grants-Program) application, please provide a link to the merged contract (the `.md` file in the [applications](https://github.com/w3f/Grants-Program/tree/master/applications) directory). In the case of a private application, please provide the name of the project. -* **Milestone Number:** e.g. 1 +* **Application Document:** [PR 2261](https://github.com/w3f/Grants-Program/pull/2261) -**Context** (optional) -> Please provide a short paragraph or two connecting the deliverables in this milestone and describing their purpose. +**Context** +> A task verification system that verifies off-chain compute task results on-chain using parallel execution and hash equations. This forms the base infrastructure for our enterprise-ready product for machine learning training. -**Deliverables** -> Please provide a list of all deliverables of the milestone extracted from the initial application and a link to the deliverable itself. Ideally all links inside the below table should include a commit hash, which will be used for testing. If you don't provide a commit hash, we will work off the default branch of your repository. Thus, if you plan on continuing work after delivery, we suggest you create a separate branch for either the delivery or your continuing work. +**Deliverables** Task Verification System +> Please provide a list of all deliverables of the milestone extracted from the initial application and a link to the deliverable itself. Ideally all links inside the below table should include a commit hash, which will be used for testing. If you don't provide a commit hash, we will work off the default branch of your repository. Thus, if you plan on continuing work after delivery, we suggest you create a separate branch for either the delivery or your continuing work. > -> If there is anything particular about any of the deliverables we or a future reader should know, use the respective `Notes` column. - -| Number | Deliverable | Link | Notes | -| ------------- | ------------- | ------------- |------------- | -| 1. | ... |...| ...| -| 2. | ... |...| ...| +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License | GPLv3 | +| **0b.** | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how users can (for example) deploy docker images using our interface. | +| **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. | Working Demo | We will provide video documentation to help developers understand the process of deploying containered tasks.| +| 2. | Task Examples | We will provide example containers and data sets to help programmers understand and execute batch processes. Currently we provide Examples for Docker, Bash, Terraform etc.. | +| 3. | Substrate Module: Verification | This pallet will be responsible for assign the task to a secondary cluster for result verification. Once verifed the accepted result will be added to the block. | +| 4. | Substrate Module: Edge Connect| This pallet will posses the logic for schedluing tasks to a specific cluster that matches the required specifications| +| 5. | Worker K8S Operator | The k8s worker acts as a trusted controller. It securely stores deployment states, including manifests and defined secrets. Based on the manifests, the Worker uses remote attestation to authenticate the task exceution process.. | +| 6. | Worker logs | The execution logs of the deployed container to serve as a proof of work. | **Additional Information** > Any further comments on the milestone that you would like to share with us. From 525be99e1b43604169416cac24e9eaf60b1f921c Mon Sep 17 00:00:00 2001 From: Barath kanna <93442895+beekay2706@users.noreply.github.com> Date: Fri, 12 Jul 2024 13:45:48 +0530 Subject: [PATCH 08/69] Update cyborg.md --- deliveries/cyborg.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/deliveries/cyborg.md b/deliveries/cyborg.md index 4ab76c3d4..c73fde140 100644 --- a/deliveries/cyborg.md +++ b/deliveries/cyborg.md @@ -5,11 +5,11 @@ * **Application Document:** [PR 2261](https://github.com/w3f/Grants-Program/pull/2261) **Context** -> A task verification system that verifies off-chain compute task results on-chain using parallel execution and hash equations. This forms the base infrastructure for our enterprise-ready product for machine learning training. +##Task Verification System +A task verification system that verifies off-chain compute task results on-chain using parallel execution and hash equations. This forms the base infrastructure for our enterprise-ready product for machine learning training. + +**Deliverables** -**Deliverables** Task Verification System -> Please provide a list of all deliverables of the milestone extracted from the initial application and a link to the deliverable itself. Ideally all links inside the below table should include a commit hash, which will be used for testing. If you don't provide a commit hash, we will work off the default branch of your repository. Thus, if you plan on continuing work after delivery, we suggest you create a separate branch for either the delivery or your continuing work. -> | Number | Deliverable | Specification | | -----: | ----------- | ------------- | | **0a.** | License | GPLv3 | From 8042c21a673d44481a8244becc3f16eab6a81987 Mon Sep 17 00:00:00 2001 From: Barath kanna <93442895+beekay2706@users.noreply.github.com> Date: Fri, 12 Jul 2024 13:46:37 +0530 Subject: [PATCH 09/69] fix typo.md --- deliveries/cyborg.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/deliveries/cyborg.md b/deliveries/cyborg.md index c73fde140..e0501ca67 100644 --- a/deliveries/cyborg.md +++ b/deliveries/cyborg.md @@ -5,7 +5,9 @@ * **Application Document:** [PR 2261](https://github.com/w3f/Grants-Program/pull/2261) **Context** -##Task Verification System + +## Task Verification System + A task verification system that verifies off-chain compute task results on-chain using parallel execution and hash equations. This forms the base infrastructure for our enterprise-ready product for machine learning training. **Deliverables** From bb9b0efd29ec93caad706aca6349694e46b36aba Mon Sep 17 00:00:00 2001 From: Barath kanna <93442895+beekay2706@users.noreply.github.com> Date: Fri, 12 Jul 2024 14:03:21 +0530 Subject: [PATCH 10/69] add links --- deliveries/cyborg.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deliveries/cyborg.md b/deliveries/cyborg.md index e0501ca67..90252cc04 100644 --- a/deliveries/cyborg.md +++ b/deliveries/cyborg.md @@ -14,8 +14,8 @@ A task verification system that verifies off-chain compute task results on-chain | Number | Deliverable | Specification | | -----: | ----------- | ------------- | -| **0a.** | License | GPLv3 | -| **0b.** | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how users can (for example) deploy docker images using our interface. | +| **0a.** | [License](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/LICENSE) | GPLv3 | +| **0b.** | [Documentation](https://docs.google.com/document/d/1p5JJ1K6iTV20h4qU1s38e-lRKMvXN6j2MsjITLswqEQ/edit#heading=h.mm3nklvp0xtd) | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how users can (for example) deploy docker images using our interface. | | **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. | Working Demo | We will provide video documentation to help developers understand the process of deploying containered tasks.| From ada7b556defe02c752c6874b4a7dbe516abf28f2 Mon Sep 17 00:00:00 2001 From: Barath kanna <93442895+beekay2706@users.noreply.github.com> Date: Fri, 12 Jul 2024 22:11:03 +0530 Subject: [PATCH 11/69] Update cyborg.md --- deliveries/cyborg.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deliveries/cyborg.md b/deliveries/cyborg.md index 90252cc04..d4e459988 100644 --- a/deliveries/cyborg.md +++ b/deliveries/cyborg.md @@ -22,7 +22,7 @@ A task verification system that verifies off-chain compute task results on-chain | 2. | Task Examples | We will provide example containers and data sets to help programmers understand and execute batch processes. Currently we provide Examples for Docker, Bash, Terraform etc.. | | 3. | Substrate Module: Verification | This pallet will be responsible for assign the task to a secondary cluster for result verification. Once verifed the accepted result will be added to the block. | | 4. | Substrate Module: Edge Connect| This pallet will posses the logic for schedluing tasks to a specific cluster that matches the required specifications| -| 5. | Worker K8S Operator | The k8s worker acts as a trusted controller. It securely stores deployment states, including manifests and defined secrets. Based on the manifests, the Worker uses remote attestation to authenticate the task exceution process.. | +| 5. | Worker K3S Operator | The k3s worker acts as a trusted controller. It securely stores deployment states, including manifests and defined secrets. Based on the manifests, the Worker uses remote attestation to authenticate the task exceution process.. | | 6. | Worker logs | The execution logs of the deployed container to serve as a proof of work. | **Additional Information** From d758cb5d75a4fcfbe854307a3f20a10771d94515 Mon Sep 17 00:00:00 2001 From: Barath kanna <93442895+beekay2706@users.noreply.github.com> Date: Sat, 13 Jul 2024 03:23:28 +0530 Subject: [PATCH 12/69] Update links --- deliveries/cyborg.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deliveries/cyborg.md b/deliveries/cyborg.md index d4e459988..b2b813dfc 100644 --- a/deliveries/cyborg.md +++ b/deliveries/cyborg.md @@ -16,7 +16,7 @@ A task verification system that verifies off-chain compute task results on-chain | -----: | ----------- | ------------- | | **0a.** | [License](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/LICENSE) | GPLv3 | | **0b.** | [Documentation](https://docs.google.com/document/d/1p5JJ1K6iTV20h4qU1s38e-lRKMvXN6j2MsjITLswqEQ/edit#heading=h.mm3nklvp0xtd) | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how users can (for example) deploy docker images using our interface. | -| **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. | +| **0c.** | [Testing and Testing Guide](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/INSTRUCTIONS.md) | 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. | Working Demo | We will provide video documentation to help developers understand the process of deploying containered tasks.| | 2. | Task Examples | We will provide example containers and data sets to help programmers understand and execute batch processes. Currently we provide Examples for Docker, Bash, Terraform etc.. | From 964b3b70d9f535666f20f37e51d9b1e7533a1671 Mon Sep 17 00:00:00 2001 From: Barath kanna <93442895+beekay2706@users.noreply.github.com> Date: Sat, 13 Jul 2024 03:29:18 +0530 Subject: [PATCH 13/69] Update cyborg.md --- deliveries/cyborg.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/deliveries/cyborg.md b/deliveries/cyborg.md index b2b813dfc..87eade004 100644 --- a/deliveries/cyborg.md +++ b/deliveries/cyborg.md @@ -18,11 +18,11 @@ A task verification system that verifies off-chain compute task results on-chain | **0b.** | [Documentation](https://docs.google.com/document/d/1p5JJ1K6iTV20h4qU1s38e-lRKMvXN6j2MsjITLswqEQ/edit#heading=h.mm3nklvp0xtd) | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how users can (for example) deploy docker images using our interface. | | **0c.** | [Testing and Testing Guide](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/INSTRUCTIONS.md) | 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. | Working Demo | We will provide video documentation to help developers understand the process of deploying containered tasks.| -| 2. | Task Examples | We will provide example containers and data sets to help programmers understand and execute batch processes. Currently we provide Examples for Docker, Bash, Terraform etc.. | +| 1. | [Working Demo](https://drive.google.com/file/d/1cBpTbd4xRPdUz4_RgGIU7axy9Cb4MjD2/view?usp=sharing) | We will provide video documentation to help developers understand the process of deploying containered tasks.| +| 2. | [Task Examples]() | We will provide example containers and data sets to help programmers understand and execute batch processes. Currently we provide Examples for Docker, Bash, Terraform etc.. | | 3. | Substrate Module: Verification | This pallet will be responsible for assign the task to a secondary cluster for result verification. Once verifed the accepted result will be added to the block. | | 4. | Substrate Module: Edge Connect| This pallet will posses the logic for schedluing tasks to a specific cluster that matches the required specifications| -| 5. | Worker K3S Operator | The k3s worker acts as a trusted controller. It securely stores deployment states, including manifests and defined secrets. Based on the manifests, the Worker uses remote attestation to authenticate the task exceution process.. | +| 5. | [Worker K3S Operator](https://github.com/Cyborg-Network/Worker) | The k3s worker acts as a trusted controller. It securely stores deployment states, including manifests and defined secrets. Based on the manifests, the Worker uses remote attestation to authenticate the task exceution process.. | | 6. | Worker logs | The execution logs of the deployed container to serve as a proof of work. | **Additional Information** From ccc604cb864acc5d15d7abf5fa25a47871a55a5f Mon Sep 17 00:00:00 2001 From: Barath kanna <93442895+beekay2706@users.noreply.github.com> Date: Sat, 13 Jul 2024 04:02:34 +0530 Subject: [PATCH 14/69] Update cyborg.md --- deliveries/cyborg.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deliveries/cyborg.md b/deliveries/cyborg.md index 87eade004..029adce3c 100644 --- a/deliveries/cyborg.md +++ b/deliveries/cyborg.md @@ -19,7 +19,7 @@ A task verification system that verifies off-chain compute task results on-chain | **0c.** | [Testing and Testing Guide](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/INSTRUCTIONS.md) | 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. | [Working Demo](https://drive.google.com/file/d/1cBpTbd4xRPdUz4_RgGIU7axy9Cb4MjD2/view?usp=sharing) | We will provide video documentation to help developers understand the process of deploying containered tasks.| -| 2. | [Task Examples]() | We will provide example containers and data sets to help programmers understand and execute batch processes. Currently we provide Examples for Docker, Bash, Terraform etc.. | +| 2. | [Task Examples](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/README.md#task-examples) | We will provide example containers and data sets to help programmers understand and execute batch processes. Currently we provide Examples for Docker, Bash, Terraform etc.. | | 3. | Substrate Module: Verification | This pallet will be responsible for assign the task to a secondary cluster for result verification. Once verifed the accepted result will be added to the block. | | 4. | Substrate Module: Edge Connect| This pallet will posses the logic for schedluing tasks to a specific cluster that matches the required specifications| | 5. | [Worker K3S Operator](https://github.com/Cyborg-Network/Worker) | The k3s worker acts as a trusted controller. It securely stores deployment states, including manifests and defined secrets. Based on the manifests, the Worker uses remote attestation to authenticate the task exceution process.. | From 66f06a138f132d543c22800d5dc61b73e02189c0 Mon Sep 17 00:00:00 2001 From: Barath kanna <93442895+beekay2706@users.noreply.github.com> Date: Sat, 13 Jul 2024 22:01:21 +0530 Subject: [PATCH 15/69] Update cyborg.md --- deliveries/cyborg.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deliveries/cyborg.md b/deliveries/cyborg.md index 029adce3c..d566ac7a9 100644 --- a/deliveries/cyborg.md +++ b/deliveries/cyborg.md @@ -17,7 +17,7 @@ A task verification system that verifies off-chain compute task results on-chain | **0a.** | [License](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/LICENSE) | GPLv3 | | **0b.** | [Documentation](https://docs.google.com/document/d/1p5JJ1K6iTV20h4qU1s38e-lRKMvXN6j2MsjITLswqEQ/edit#heading=h.mm3nklvp0xtd) | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how users can (for example) deploy docker images using our interface. | | **0c.** | [Testing and Testing Guide](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/INSTRUCTIONS.md) | 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. | +| **0d.** | Docker | We will provide a Dockerfile that can be used to deplly a local substrate chain for testing. | | 1. | [Working Demo](https://drive.google.com/file/d/1cBpTbd4xRPdUz4_RgGIU7axy9Cb4MjD2/view?usp=sharing) | We will provide video documentation to help developers understand the process of deploying containered tasks.| | 2. | [Task Examples](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/README.md#task-examples) | We will provide example containers and data sets to help programmers understand and execute batch processes. Currently we provide Examples for Docker, Bash, Terraform etc.. | | 3. | Substrate Module: Verification | This pallet will be responsible for assign the task to a secondary cluster for result verification. Once verifed the accepted result will be added to the block. | From 3b93950252fc282bc845fa3614d4a3e021ccd54b Mon Sep 17 00:00:00 2001 From: Barath kanna <93442895+beekay2706@users.noreply.github.com> Date: Sat, 13 Jul 2024 22:02:02 +0530 Subject: [PATCH 16/69] fix typo --- deliveries/cyborg.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deliveries/cyborg.md b/deliveries/cyborg.md index d566ac7a9..696ef25df 100644 --- a/deliveries/cyborg.md +++ b/deliveries/cyborg.md @@ -17,7 +17,7 @@ A task verification system that verifies off-chain compute task results on-chain | **0a.** | [License](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/LICENSE) | GPLv3 | | **0b.** | [Documentation](https://docs.google.com/document/d/1p5JJ1K6iTV20h4qU1s38e-lRKMvXN6j2MsjITLswqEQ/edit#heading=h.mm3nklvp0xtd) | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how users can (for example) deploy docker images using our interface. | | **0c.** | [Testing and Testing Guide](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/INSTRUCTIONS.md) | 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 deplly a local substrate chain for testing. | +| **0d.** | Docker | We will provide a Dockerfile that can be used to deploy a local substrate chain for testing. | | 1. | [Working Demo](https://drive.google.com/file/d/1cBpTbd4xRPdUz4_RgGIU7axy9Cb4MjD2/view?usp=sharing) | We will provide video documentation to help developers understand the process of deploying containered tasks.| | 2. | [Task Examples](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/README.md#task-examples) | We will provide example containers and data sets to help programmers understand and execute batch processes. Currently we provide Examples for Docker, Bash, Terraform etc.. | | 3. | Substrate Module: Verification | This pallet will be responsible for assign the task to a secondary cluster for result verification. Once verifed the accepted result will be added to the block. | From 2eca8fe81556cf3badf2e6f9c1d3d6a07ffdae11 Mon Sep 17 00:00:00 2001 From: Barath kanna <93442895+beekay2706@users.noreply.github.com> Date: Mon, 15 Jul 2024 16:33:39 +0530 Subject: [PATCH 17/69] Update links --- deliveries/cyborg.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/deliveries/cyborg.md b/deliveries/cyborg.md index 696ef25df..f9ef638ba 100644 --- a/deliveries/cyborg.md +++ b/deliveries/cyborg.md @@ -17,11 +17,11 @@ A task verification system that verifies off-chain compute task results on-chain | **0a.** | [License](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/LICENSE) | GPLv3 | | **0b.** | [Documentation](https://docs.google.com/document/d/1p5JJ1K6iTV20h4qU1s38e-lRKMvXN6j2MsjITLswqEQ/edit#heading=h.mm3nklvp0xtd) | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how users can (for example) deploy docker images using our interface. | | **0c.** | [Testing and Testing Guide](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/INSTRUCTIONS.md) | 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 deploy a local substrate chain for testing. | +| **0d.** | [Docker](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6) | We will provide a Dockerfile that can be used to deploy a local substrate chain for testing. | | 1. | [Working Demo](https://drive.google.com/file/d/1cBpTbd4xRPdUz4_RgGIU7axy9Cb4MjD2/view?usp=sharing) | We will provide video documentation to help developers understand the process of deploying containered tasks.| | 2. | [Task Examples](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/README.md#task-examples) | We will provide example containers and data sets to help programmers understand and execute batch processes. Currently we provide Examples for Docker, Bash, Terraform etc.. | -| 3. | Substrate Module: Verification | This pallet will be responsible for assign the task to a secondary cluster for result verification. Once verifed the accepted result will be added to the block. | -| 4. | Substrate Module: Edge Connect| This pallet will posses the logic for schedluing tasks to a specific cluster that matches the required specifications| +| 3. | [Substrate Module: Verification](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6/pallets/task-management) | This pallet will be responsible for assign the task to a secondary cluster for result verification. Once verifed the accepted result will be added to the block. | +| 4. | [Substrate Module: Edge Connect](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6/pallets/edge-connect)| This pallet will posses the logic for schedluing tasks to a specific cluster that matches the required specifications| | 5. | [Worker K3S Operator](https://github.com/Cyborg-Network/Worker) | The k3s worker acts as a trusted controller. It securely stores deployment states, including manifests and defined secrets. Based on the manifests, the Worker uses remote attestation to authenticate the task exceution process.. | | 6. | Worker logs | The execution logs of the deployed container to serve as a proof of work. | From ad92778b84f9a200408884b55eb034a0969ca89f Mon Sep 17 00:00:00 2001 From: Barath kanna <93442895+beekay2706@users.noreply.github.com> Date: Wed, 17 Jul 2024 16:51:12 +0530 Subject: [PATCH 18/69] Update cyborg.md --- deliveries/cyborg.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/deliveries/cyborg.md b/deliveries/cyborg.md index f9ef638ba..3a0aa4b48 100644 --- a/deliveries/cyborg.md +++ b/deliveries/cyborg.md @@ -24,6 +24,3 @@ A task verification system that verifies off-chain compute task results on-chain | 4. | [Substrate Module: Edge Connect](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6/pallets/edge-connect)| This pallet will posses the logic for schedluing tasks to a specific cluster that matches the required specifications| | 5. | [Worker K3S Operator](https://github.com/Cyborg-Network/Worker) | The k3s worker acts as a trusted controller. It securely stores deployment states, including manifests and defined secrets. Based on the manifests, the Worker uses remote attestation to authenticate the task exceution process.. | | 6. | Worker logs | The execution logs of the deployed container to serve as a proof of work. | - -**Additional Information** -> Any further comments on the milestone that you would like to share with us. From 45a07280e67162bf7e3bd2ce53c80e54a69c276b Mon Sep 17 00:00:00 2001 From: Barath kanna <93442895+beekay2706@users.noreply.github.com> Date: Thu, 18 Jul 2024 22:29:30 +0530 Subject: [PATCH 19/69] Update deliveries/cyborg.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Sebastian Müller --- deliveries/cyborg.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deliveries/cyborg.md b/deliveries/cyborg.md index 3a0aa4b48..4cb445133 100644 --- a/deliveries/cyborg.md +++ b/deliveries/cyborg.md @@ -2,7 +2,7 @@ **The delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).** -* **Application Document:** [PR 2261](https://github.com/w3f/Grants-Program/pull/2261) +* **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/Cyborg.md **Context** From 2ec0d28bf0858ba3a663bd51bdd01691d23837df Mon Sep 17 00:00:00 2001 From: Viki Val Date: Wed, 24 Jul 2024 13:44:56 +0200 Subject: [PATCH 20/69] :tada: atomic swap indexer --- deliveries/kodadot_atomic_swap_indexer_1.md | 79 +++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 deliveries/kodadot_atomic_swap_indexer_1.md diff --git a/deliveries/kodadot_atomic_swap_indexer_1.md b/deliveries/kodadot_atomic_swap_indexer_1.md new file mode 100644 index 000000000..03d82cc98 --- /dev/null +++ b/deliveries/kodadot_atomic_swap_indexer_1.md @@ -0,0 +1,79 @@ +# Milestone Delivery :mailbox: + +**The delivery is according to the official +[milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).** + +- **Application Document:** [kodadot_assethub_nft_m2.md](https://github.com/w3f/Grants-Program/tree/master/applications/kodadot_assethub_nft_m2.md) +- **Milestone Number:** 1 + +**Context** (optional) + +The milestone 1 of KodaDot's Atomic swap indexer for non-fungible tokens on AssetHub contains +and delivers the following: + +- Schema for all the entities that are going to be indexed by the indexer. +- The indexer is able to index the following entities: + - Collections + - NFTs + - Tokens + - Attributes + - Metadata + - Fungible Assets + - Offers + - Atomic Swaps +- The indexer is able to index the following pallets: + - Uniques + - NFTs + - Assets + +**Deliverables** + + +| Number | Deliverable | Link | Notes | +| ------ | --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ | +| 0a. | Licensing | [LICENCE](https://github.com/kodadot/stick/blob/main/LICENCE) | MIT | +| 0b. | Documentation | [an explicit README file to guide the project setup and execution](https://github.com/kodadot/stick/blob/feat/swap-it-up/README.md) | - | +| 0c. | Test Guidelines | [Testing](https://github.com/kodadot/stick/tree/feat/swap-it-up/tests) | - | +| 0d. | Docker Integration | [Docker Compose](https://github.com/kodadot/stick/blob/feat/swap-it-up/docker-compose.yml) | needs to run as docker compose | +| 1a. | Atomic Swaps Schema Development | [GraphQL schema swap.](https://github.com/kodadot/stick/blob/feat/swap-it-up/schema.graphql#L198) | Used `Swap` instead of `SwapEntity` | +| 1b. | Atomic Swaps CREATE Handler | [Create Handler](https://github.com/kodadot/stick/blob/feat/swap-it-up/src/mappings/nfts/createSwap.ts) | - | +| 1c. | Atomic Swaps CANCEL Event | [Cancel Handler](https://github.com/kodadot/stick/blob/feat/swap-it-up/src/mappings/nfts/cancelSwap.ts) | - | +| 1d. | Atomic Swaps CLAIM Event | [Claim Handler](https://github.com/kodadot/stick/blob/feat/swap-it-up/src/mappings/nfts/claim.ts) | - | +| 1e. | Atomic Swaps with Surcharge Handler | [Create Handler](https://github.com/kodadot/stick/blob/feat/swap-it-up/src/mappings/nfts/createSwap.ts#L48) | - | +| 2a. | Offers Schema Development | [GraphQL schema offer.](https://github.com/kodadot/stick/blob/feat/swap-it-up/schema.graphql#L173) | Used `Offer` instead of `OfferEntity` | +| 2b. | Offers CREATE Handler | [Create Handler](https://github.com/kodadot/stick/blob/feat/swap-it-up/src/mappings/nfts/createSwap.ts#L25) | - | +| 2c. | Offers CANCEL Event | [Cancel Handler](https://github.com/kodadot/stick/blob/feat/swap-it-up/src/mappings/nfts/cancelSwap.ts#L23) | - | +| 3a. | Token Schema Development | [GraphQL schema token.](https://github.com/kodadot/stick/blob/feat/swap-it-up/schema.graphql#L40) | - | +| 3b. | Token CRUD Handler | [Handling Token](https://github.com/kodadot/stick/blob/feat/swap-it-up/src/mappings/shared/token/tokenAPI.ts) | - | +| 4a. | API Implementation: collectionById | [collectionById](https://github.com/vikiival/kodaquery/blob/main/main.ts#L36) | - | +| 4b. | API Implementation: collectionListByIssuer | [collectionListByIssuer](https://github.com/vikiival/kodaquery/blob/main/main.ts#L44) | - | +| 4c. | API Implementation: collectionListByName | [collectionListByName](https://github.com/vikiival/kodaquery/blob/main/main.ts#L53) | - | +| 4d. | API Implementation: collectionListByOwner | [collectionListByOwner](https://github.com/vikiival/kodaquery/blob/main/main.ts#L62) | - | +| 4e. | API Implementation: eventList | [eventList](https://github.com/vikiival/kodaquery/blob/main/main.ts#L72) | - | +| 4f. | API Implementation: eventListByAddress | [eventListByAddress](https://github.com/vikiival/kodaquery/blob/main/main.ts#L80) | - | +| 4g. | API Implementation: eventListByCollectionId | [eventListByCollectionId](https://github.com/vikiival/kodaquery/blob/main/main.ts#L89) | - | +| 4h. | API Implementation: eventListByInteraction | [eventListByInteraction](https://github.com/vikiival/kodaquery/blob/main/main.ts#L98) | - | +| 4i. | API Implementation: eventListByItemId | [eventListByItemId](https://github.com/vikiival/kodaquery/blob/main/main.ts#L107) | - | +| 4j. | API Implementation: itemById | [itemById](https://github.com/vikiival/kodaquery/blob/main/main.ts#L117) | - | +| 4k. | API Implementation: itemListByCollectionId | [itemListByCollectionId](https://github.com/vikiival/kodaquery/blob/main/main.ts#L125) | - | +| 4l. | API Implement: itemListByCollectionIdAndOwner | [itemListByCollectionIdAndOwner](https://github.com/vikiival/kodaquery/blob/main/main.ts#L134) | - | +| 4m. | API Implement: itemListByCollectionIdList | [itemListByCollectionIdList](https://github.com/vikiival/kodaquery/blob/main/main.ts#L144) | - | +| 4n. | API Implementation: itemListByIssuer | [itemListByIssuer](https://github.com/vikiival/kodaquery/blob/main/main.ts#L153) | - | +| 4o. | API Implementation: itemListByName | [itemListByName](https://github.com/vikiival/kodaquery/blob/main/main.ts#L162) | - | +| 4p. | API Implementation: itemListByMetadataId | [itemListByMetadataId](https://github.com/vikiival/kodaquery/blob/main/main.ts#L171) | - | +| 4r. | API Implement: itemListByMetadataIdMatch | [itemListByMetadataIdMatch](https://github.com/vikiival/kodaquery/blob/main/main.ts#L190) | - | +| 4s. | API Implementation: itemListByOwner | [itemListByOwner](https://github.com/vikiival/kodaquery/blob/main/main.ts#L189) | - | + +**Additional Information** +> Any further comments on the milestone that you would like to share with us. +The API has been written using the most common stack: Hono and Typescript. Additionally, we have added validations using Valibot. Unit tests were written to ensure the correctness of the code. + +The [Squid Integrity checker that we wrote](https://github.com/vikiival/squidtegrity) has checked the validity of the delivery. The delivery is valid. +We have found deviations from the ["original" FireSquid that we wrote](https://github.com/kodadot/stick/pull/194). +Known deviations are: +- `BUY` has been treated by both buy and transfer handler - [this is now skipped as it emits a transfer that is not there](https://github.com/kodadot/stick/blob/feat/swap-it-up/src/mappings/nfts/transfer.ts#L30) +- `CLAIM SWAP` has been treated as transfer - [this is now treated as swap](https://github.com/kodadot/stick/blob/feat/swap-it-up/src/mappings/nfts/transfer.ts#L33) + +Additionally, we have written queries to provide samples for the API - https://github.com/kodadot/stick/discussions/295 + +As a runner setup, we highly recommend using [casey/just](https://github.com/casey/just) to run the indexer. \ No newline at end of file From a0aa49e51b95104370427ee7fce2575f28587a29 Mon Sep 17 00:00:00 2001 From: salaheldinsoliman Date: Sun, 28 Jul 2024 00:40:29 +0200 Subject: [PATCH 21/69] add milestone 3 Signed-off-by: salaheldinsoliman --- deliveries/Solang_Playground-milestone_3.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 deliveries/Solang_Playground-milestone_3.md diff --git a/deliveries/Solang_Playground-milestone_3.md b/deliveries/Solang_Playground-milestone_3.md new file mode 100644 index 000000000..2c49458fd --- /dev/null +++ b/deliveries/Solang_Playground-milestone_3.md @@ -0,0 +1,18 @@ +# Milestone Delivery :mailbox: + +**The delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).** + +- **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/Solang_Playground.md +- **Milestone Number:** 3 + +**Context** +This milestone involves adding an `interact` functionality to the web editor. A developer can now interact with the deployed contract on Polkadot via a redirection to `contracts ui`. + +**Deliverables** +| Number | Deliverable | Link | Notes | +| ------ | ----------- | ---- |----------------- | +| _0a._ | License | https://github.com/hyperledger-labs/solang-playground/blob/main/LICENSE | +| _0b._ | Documentation | https://github.com/hyperledger-labs/solang-playground/blob/main/docs/interact_with_contracts_on_chain.md | +| _0c._ | Testing and Testing Guide | https://github.com/hyperledger-labs/solang-playground/blob/main/README.md#testing | +| _0d._ | Docker | https://github.com/hyperledger-labs/solang-playground/blob/main/README.md#docker | +| 1. | Solang Playground with `interact` functionality | -Repo: https://github.com/hyperledger-labs/solang-playground
-Demo: https://drive.google.com/file/d/1LL6LuPbAvg8r_hCWeWop2Gl_tvgy_KpI/view?usp=sharing
-amd64 docker image: https://hub.docker.com/repository/docker/salaheldin18/solang-playground-amd64 .
You can find a link to the hosted editor in the repo's readme | From 9a9ef8d97cd81b7a8053629209276c65f396499a Mon Sep 17 00:00:00 2001 From: Viki Val Date: Mon, 29 Jul 2024 10:59:41 +0200 Subject: [PATCH 22/69] :bug: :memo: fix hyperlink to LICENSE --- deliveries/kodadot_atomic_swap_indexer_1.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deliveries/kodadot_atomic_swap_indexer_1.md b/deliveries/kodadot_atomic_swap_indexer_1.md index 03d82cc98..ae8b76a8a 100644 --- a/deliveries/kodadot_atomic_swap_indexer_1.md +++ b/deliveries/kodadot_atomic_swap_indexer_1.md @@ -31,7 +31,7 @@ and delivers the following: | Number | Deliverable | Link | Notes | | ------ | --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ | -| 0a. | Licensing | [LICENCE](https://github.com/kodadot/stick/blob/main/LICENCE) | MIT | +| 0a. | Licensing | [LICENSE](https://github.com/kodadot/stick/blob/main/LICENSE) | MIT | | 0b. | Documentation | [an explicit README file to guide the project setup and execution](https://github.com/kodadot/stick/blob/feat/swap-it-up/README.md) | - | | 0c. | Test Guidelines | [Testing](https://github.com/kodadot/stick/tree/feat/swap-it-up/tests) | - | | 0d. | Docker Integration | [Docker Compose](https://github.com/kodadot/stick/blob/feat/swap-it-up/docker-compose.yml) | needs to run as docker compose | @@ -76,4 +76,4 @@ Known deviations are: Additionally, we have written queries to provide samples for the API - https://github.com/kodadot/stick/discussions/295 -As a runner setup, we highly recommend using [casey/just](https://github.com/casey/just) to run the indexer. \ No newline at end of file +As a runner setup, we highly recommend using [casey/just](https://github.com/casey/just) to run the indexer. From b57776f823ac1fea91b520f34890c4d70f444d34 Mon Sep 17 00:00:00 2001 From: ditavia-br <104472081+ditavia-br@users.noreply.github.com> Date: Tue, 30 Jul 2024 16:19:49 -0300 Subject: [PATCH 23/69] Create cyborgnetwork_1_ditavia-br.md --- evaluations/cyborgnetwork_1_ditavia-br.md | 261 ++++++++++++++++++++++ 1 file changed, 261 insertions(+) create mode 100644 evaluations/cyborgnetwork_1_ditavia-br.md diff --git a/evaluations/cyborgnetwork_1_ditavia-br.md b/evaluations/cyborgnetwork_1_ditavia-br.md new file mode 100644 index 000000000..1ebafae74 --- /dev/null +++ b/evaluations/cyborgnetwork_1_ditavia-br.md @@ -0,0 +1,261 @@ +# Evaluation + +- **Status:** In Progress +- **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/Cyborg.md +- **Milestone:** 1 +- **Kusama Identity:** Address +- **Previously successfully merged evaluation:** N/A + +| Number | Deliverable | Accepted | Link | Evaluation Notes | +| ------ | ----------- | -------- | ---- |----------------- | +| **0a.** | License |
  • [x]
| [License](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/LICENSE) | | +| **0b.** | Documentation |
  • [ ]
| [Documentation](https://docs.google.com/document/d/1p5JJ1K6iTV20h4qU1s38e-lRKMvXN6j2MsjITLswqEQ/edit#heading=h.mm3nklvp0xtd) | We haven't fully evaluated this yet, some comments in the evaluation. | +| **0c.** | Testing and Testing Guide |
  • [ ]
| [Testing and Testing Guide](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/INSTRUCTIONS.md) | We couldn't set up the system to test.| +| **0d.** | Docker |
  • [ ]
| [Docker](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6) | Missing the instruction to use the Docker image. | +| 1. | Working Demo |
  • [x]
| [Working Demo](https://drive.google.com/file/d/1cBpTbd4xRPdUz4_RgGIU7axy9Cb4MjD2/view?usp=sharing) | | +| 2. | Task Examples |
  • [ ]
| [Task Examples](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/README.md#task-examples) | Not fully evaluated yet. | +| 3. | Substrate Module: Verification |
  • [ ]
| [Substrate Module: Verification](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6/pallets/task-management) | Not fully evaluated yet. | +| 4. | Substrate Module: Edge Connect |
  • [ ]
| [Substrate Module: Edge Connect](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6/pallets/edge-connect) | Not fully evaluated yet. | +| 5. | Worker K3S Operator |
  • [ ]
| [Worker K3S Operator](https://github.com/Cyborg-Network/Worker) | Not fully evaluated yet. | +| 6. | Worker logs |
  • [ ]
| | Not fully evaluated yet. | + + +## Evaluation V1 + +### Documentation + +We noticed that the "Link" column on the deliverables table is missing. Please add this column with the appropriate links. + +The [parachain repository](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6) is missing the instructions to use the docker to setup the chains. Ideally, the docker should set up all the systems, not only the chains. + +The [parachain repository](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6) should have the instructions to run the tests. + +### Test + +We couldn't set up all the systems to test locally. We were able to run the chains using the Zumbinet and the front end without problems, but we couldn't successfully run the Worker. + +Image showing the networks launched. + +![Captura de tela de 2024-07-30 10-41-18](https://github.com/user-attachments/assets/4ff39206-b1e2-4e1d-9fc0-69593fd4be32) + +Image showing the front end. + +![Captura de tela de 2024-07-30 10-41-50](https://github.com/user-attachments/assets/80e63da4-8a81-4558-88e1-72831681b0ee) + + +We were able to save the `k3s-node-token.txt` and use the command `node KubeServiceNodePort.js` using the script provided: + +``` +ditavia@localhost:~/Documents/w3f/Worker$ sh MasterSetup.sh +The k3s node token has been saved to ./k3s-node-token.txt. Use this token to connect worker nodes to the cluster. +Updated Server listening on port 3000 +``` + +We couldn't use the command below successfully. Could you explain better how to use it or give some examples? + +``` +sh WorkerSetup.sh +``` + +We tried to use the front end but it was stuck on this part of the process: + +![Captura de tela de 2024-07-30 10-42-03](https://github.com/user-attachments/assets/ddde7fb3-c22e-4dbe-a78d-d24e6e7a9be5) + +We tried to test the hosted version to check it but we don't know what is the chain connected to get some balance. + +![unnamed (2)](https://github.com/user-attachments/assets/abb5f427-7754-4276-a245-b9f2b4517524) + + +One question, can we use the polkadot.js extension as the wallet to confirm the transaction? Because this only appeared when using the talismã wallet. + +We executed the tests on the [parachain repository](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6) to check the pallet functionality. One test was ignored, and all the other tests passed. + +
+Test Results + +``` + Running unittests src/lib.rs (target/debug/deps/cyborg_runtime-aaf857bb1aae1125) + +running 6 tests +test weights::rocksdb_weights::constants::test_db_weights::sane ... ok +test weights::extrinsic_weights::constants::test_weights::sane ... ok +test weights::paritydb_weights::constants::test_db_weights::sane ... ok +test weights::block_weights::constants::test_weights::sane ... ok +test test_genesis_config_builds ... ok +test __construct_runtime_integrity_test::runtime_integrity_tests ... ok + +test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s + + Running unittests src/lib.rs (target/debug/deps/orml_oracle-da8d838859985862) + +running 13 tests +test mock::test_genesis_config_builds ... ok +test tests::should_return_none_for_non_exist_key ... ok +test mock::__construct_runtime_integrity_test::runtime_integrity_tests ... ok +test tests::should_not_feed_values_from_root_directly ... ok +test tests::should_feed_values_from_root ... ok +test tests::change_member_should_work ... ok +test tests::should_feed_values_from_member ... ok +test tests::multiple_calls_should_fail ... ok +test tests::should_read_raw_values ... ok +test tests::should_combined_data ... ok +test tests::should_clear_data_for_removed_members ... ok +test tests::get_all_values_should_work ... ok +test tests::values_are_updated_on_feed ... ok + +test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/orml_traits-d9adbe25f1987f82) + +running 15 tests +test data_provider::tests::median_value_data_provider_works ... ok +test get_by_key::tests::get_by_key_should_work ... ok +test location::tests::no_reserve_chain_for_absolute_self_for_relative ... ok +test location::tests::child_parachain_as_reserve_chain ... ok +test location::tests::non_chain_part_works ... ok +test location::tests::parent_as_reserve_chain ... ok +test location::tests::sibling_parachain_as_reserve_chain ... ok +test parameters::tests::test_define_aggregrated_parameters_aggregrated_key_value ... ok +test parameters::tests::test_define_aggregrated_parameters_key_convert ... ok +test parameters::tests::test_define_parameters_aggregrated_key_value ... ok +test parameters::tests::test_define_parameters_value_convert ... ok +test parameters::tests::test_define_parameters_key_convert ... ok +test price::test::get_price_should_work ... ok +test price::test::price_is_zero_should_not_panic ... ok +test price::test::price_is_none_should_not_panic ... ok + +test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/orml_utilities-c0ee81cba68f2125) + +running 11 tests +test ordered_set::tests::clear ... ok +test ordered_set::tests::contains ... ok +test ordered_set::tests::exceeding_max_size_should_fail ... ok +test ordered_set::tests::from ... ok +test ordered_set::tests::insert ... ok +test ordered_set::tests::remove ... ok +test tests::test_genesis_config_builds ... ok +test tests::storage_transaction_basic_commit ... ok +test tests::__construct_runtime_integrity_test::runtime_integrity_tests ... ok +test tests::simulate_execution_works ... ok +test tests::storage_transaction_basic_rollback ... ok + +test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/pallet_edge_connect-9a8663a843d5d5c2) + +running 8 tests +test tests::it_works_for_registering_domain ... ok +test mock::test_genesis_config_builds ... ok +test tests::it_fails_for_removing_non_existent_worker ... ok +test mock::__construct_runtime_integrity_test::runtime_integrity_tests ... ok +test tests::it_works_for_registering_ip ... ok +test tests::it_works_for_removing_worker ... ok +test tests::it_fails_for_registering_without_ip_or_domain ... ok +test tests::it_fails_for_registering_duplicate_worker ... ok + +test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/pallet_task_management-747199f1906b9b62) + +running 9 tests +test mock::test_genesis_config_builds ... ok +test tests::it_fails_when_no_workers_are_available ... ok +test tests::it_works_for_task_scheduler ... ok +test mock::__construct_runtime_integrity_test::runtime_integrity_tests ... ok +test tests::it_works_for_submit_completed_task ... ok +test tests::it_assigns_resolver_when_dispute_in_verification_and_resolves_task ... ok +test tests::it_works_when_verifying_task ... ok +test tests::it_fails_when_submit_completed_task_with_invalid_owner ... ok +test tests::it_reassigns_task_when_resolver_fails_to_resolve ... ok + +test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s + + Doc-tests cyborg-runtime + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Doc-tests orml-oracle + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Doc-tests orml-traits + +running 3 tests +test orml/traits/src/get_by_key.rs - get_by_key::parameter_type_with_key (line 12) ... ignored +test orml/traits/src/parameters.rs - parameters::define_parameters (line 117) ... ok +test orml/traits/src/parameters.rs - parameters::define_aggregrated_parameters (line 288) ... ok + +test result: ok. 2 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 1.22s +``` + +
+ +We also ran the command `cargo tarpaulin` to check the test coverage for the pallets. It could be better for the pallet edge-connect, but the improvement isn't mandatory. + +``` +|| pallets/edge-connect/src/lib.rs: 26/41 +|| pallets/edge-connect/src/weights.rs: 0/10 +|| pallets/task-management/src/lib.rs: 98/110 +|| pallets/task-management/src/weights.rs: 0/22 +``` + +### Code Quality + +We ran the command `npm run eslint:check` for the repository [cyborg-connect](https://github.com/Cyborg-Network/cyborg-connect/tree/b5f123c4b9d4af210f6343bddb8311dac2b6787a), it returned some warnings. For example: + +``` +/home/ditavia/Documents/w3f/cyborg-connect/src/cyborg/layouts/Header.js + 10:17 warning img elements must have an alt prop, either with meaningful text, or an empty string for decorative images jsx-a11y/alt-text + 14:13 warning The href attribute is required for an anchor to be keyboard accessible. Provide a valid, navigable address as the href value. If you cannot provide an href, but still need the element to resemble a link, use a button and change it with appropriate styles. Learn more: https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/HEAD/docs/rules/anchor-is-valid.md jsx-a11y/anchor-is-valid + 15:17 warning img elements must have an alt prop, either with meaningful text, or an empty string for decorative images jsx-a11y/alt-text + +/home/ditavia/Documents/w3f/cyborg-connect/src/cyborg/layouts/SideBar.js + 28:25 warning img elements must have an alt prop, either with meaningful text, or an empty string for decorative images jsx-a11y/alt-text + 50:25 warning The href attribute is required for an anchor to be keyboard accessible. Provide a valid, navigable address as the href value. If you cannot provide an href, but still need the element to resemble a link, use a button and change it with appropriate styles. Learn more: https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/HEAD/docs/rules/anchor-is-valid.md jsx-a11y/anchor-is-valid + 51:29 warning img elements must have an alt prop, either with meaningful text, or an empty string for decorative images jsx-a11y/alt-text + +✖ 20 problems (0 errors, 20 warnings) +``` + +We also ran the command `cargo clippy` for the [parachain repository](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6), it returned some warnings. For example: + +``` +warning: length comparison to zero + --> pallets/task-management/src/lib.rs:277:15 + | +277 | ensure!(workers.len() > 0, Error::::NoNewWorkersAvailable); + | ^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!workers.is_empty()` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero + +warning: dereferencing a tuple pattern where every element takes a reference + --> pallets/task-management/src/lib.rs:343:16 + | +343 | .filter(|&(_, ref worker)| worker.status == WorkerStatusType::Inactive // change Inactive to Active with oracle + | ^^^^^^^^^^^^^^^^ + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference +help: try removing the `&` and `ref` parts + | +343 - .filter(|&(_, ref worker)| worker.status == WorkerStatusType::Inactive // change Inactive to Active with oracle +343 + .filter(|(_, worker)| worker.status == WorkerStatusType::Inactive // change Inactive to Active with oracle + | + +warning: length comparison to zero + --> pallets/task-management/src/lib.rs:349:15 + | +349 | ensure!(workers.len() > 0, Error::::NoNewWorkersAvailable); + | ^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!workers.is_empty()` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero + +warning: `pallet-task-management` (lib) generated 8 warnings (run `cargo clippy --fix --lib -p pallet-task-management` to apply 8 suggestions) +``` + +The fix of these warnings isn't mandatory but would be nice to have. From cd3c47e2dc503311a96e232c7bd2417a0403fc14 Mon Sep 17 00:00:00 2001 From: ditavia-br <104472081+ditavia-br@users.noreply.github.com> Date: Wed, 31 Jul 2024 17:38:27 -0300 Subject: [PATCH 24/69] Create Solang_Playground_3_ditavia-br.md --- evaluations/Solang_Playground_3_ditavia-br.md | 250 ++++++++++++++++++ 1 file changed, 250 insertions(+) create mode 100644 evaluations/Solang_Playground_3_ditavia-br.md diff --git a/evaluations/Solang_Playground_3_ditavia-br.md b/evaluations/Solang_Playground_3_ditavia-br.md new file mode 100644 index 000000000..253bb7a77 --- /dev/null +++ b/evaluations/Solang_Playground_3_ditavia-br.md @@ -0,0 +1,250 @@ +# Evaluation + +- **Status:** In Progress +- **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/Solang_Playground.md +- **Milestone:** 3 +- **Kusama Identity:** Address +- **Previously successfully merged evaluation:** N/A + +| Number | Deliverable | Accepted | Link | Evaluation Notes | +| ------ | ----------- | -------- | ---- |----------------- | +| **0a.** | License |
  • [x]
| https://github.com/hyperledger-labs/solang-playground/blob/main/LICENSE | +| **0b.** | Documentation |
  • [x]
| https://github.com/hyperledger-labs/solang-playground/blob/main/docs/interact_with_contracts_on_chain.md | +| **0c.** | Testing and Testing Guide |
  • [x]
| https://github.com/hyperledger-labs/solang-playground/blob/main/README.md#testing | +| **0d.** | Docker |
  • [x]
| https://github.com/hyperledger-labs/solang-playground/blob/main/README.md#docker | +| 1. | Solang Playground with `interact` functionality |
  • [ ]
| -Repo: https://github.com/hyperledger-labs/solang-playground
-Demo: https://drive.google.com/file/d/1LL6LuPbAvg8r_hCWeWop2Gl_tvgy_KpI/view?usp=sharing
-amd64 docker image: https://hub.docker.com/repository/docker/salaheldin18/solang-playground-amd64 .
You can find a link to the hosted editor in the repo's readme | Shouldn't the deploy and interaction function be on the IDE for this milestone? | + + +## Evaluation V1 + + +We have a question about this milestone. +Shouldn't the deploy and interaction with the contract functions be on the UI of the IDE for this milestone? Or these functions are planned for Milestone 4? + + + +### Docker + +We tested the application using Docker and without it. + +Log showing the Docker working. +``` +ditavia@localhost:~/Documents/w3f/solang-playground$ cargo make docker-run +[cargo-make] INFO - cargo make 0.37.15 +[cargo-make] INFO - Calling cargo metadata to extract project info +[cargo-make] INFO - Cargo metadata done +[cargo-make] INFO - Build File: Makefile.toml +[cargo-make] INFO - Task: docker-run +[cargo-make] INFO - Profile: development +[cargo-make] INFO - Running Task: docker-run +9fed5b4fa0fd0b5b04dd0397bf0777df495b5d23a324a4145b9da6e30a25a2cf +[cargo-make] INFO - Build Done in 1.50 seconds. + +ditavia@localhost:~/Documents/w3f/solang-playground$ docker ps +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +9fed5b4fa0fd solang-playground "on-start.sh" 9 seconds ago Up 8 seconds 22/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp playground +``` + +### Manual Testing + +We compiled the `result.contract` with the flip example. + +![unnamed (3)](https://github.com/user-attachments/assets/253cedeb-59eb-4e39-a818-e37556f03ed6) + + +We uploaded the contract on [contract UI](https://ui.use.ink/) and interacted with it without problems. + + +![unnamed (4)](https://github.com/user-attachments/assets/20918c5f-7459-4983-a04e-155d42058e54) + + +We also tested with another [simple example](https://github.com/solidity-by-example/solidity-by-example.github.io/blob/gh-pages/contracts/src/first-app/Counter.sol). We didn't have any problems deploying this example and using it. + +![unnamed (5)](https://github.com/user-attachments/assets/ed580383-0b9e-4173-916a-023bb291e97a) + +We have a suggestion to improve the interface. We noticed when the contract doesn't compile the error line is highlighted but would be nice to have the error messages of the compilation in the console for debugging. + +![unnamed (6)](https://github.com/user-attachments/assets/cefb140f-af6e-4586-855c-9b7f0dd4db6d) + +### Automated Tests + +We ran the tests, and all passed. + +
+Test results + +``` +ditavia@localhost:~/Documents/w3f/solang-playground$ cargo make test +[cargo-make] INFO - cargo make 0.37.15 +[cargo-make] INFO - Calling cargo metadata to extract project info +[cargo-make] INFO - Cargo metadata done +[cargo-make] INFO - Build File: Makefile.toml +[cargo-make] INFO - Task: test +[cargo-make] INFO - Profile: development +[cargo-make] INFO - Running Task: test-backend + Finished test [unoptimized + debuginfo] target(s) in 0.10s + Running unittests src/lib.rs (target/debug/deps/demo_lsp_browser-9238cc0d5d391dfb) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/server_tests.rs (target/debug/deps/server_tests-c1d149787a3e8446) + +running 1 test +test tests::language_server_workflow ... ok + +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s + + Doc-tests demo-lsp-browser + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + +[cargo-make] INFO - Running Task: test-app + +> monaco-lsp-streams@0.0.0 test +> jest + + PASS tests/api.test.ts (9.668 s) + Ensuring the server serves the built frontend + ✓ Verifying a successful response upon making a request (35 ms) + Ensuring the server’s compile endpoint is operational + ✓ Verifying a successful compile request (7899 ms) + +Test Suites: 1 passed, 1 total +Tests: 2 passed, 2 total +Snapshots: 0 total +Time: 9.724 s +Ran all test suites. +[cargo-make] INFO - Build Done in 11.14 seconds. +``` + +
+ +We also ran the command cargo tarpaulin to check the code coverage. The tests only cover a few cases. The test coverage could be better. + +
+ +Code Coverage Results + +``` +Jul 31 09:17:46.583 INFO cargo_tarpaulin::report: Coverage Results: +|| Tested/Total Lines: +|| crates/browser/src/lib.rs: 0/34 +|| crates/solang/solang-parser/src/diagnostics.rs: 4/34 +|| crates/solang/solang-parser/src/doccomment.rs: 39/69 +|| crates/solang/solang-parser/src/helpers/fmt.rs: 12/779 +|| crates/solang/solang-parser/src/helpers/loc.rs: 20/209 +|| crates/solang/solang-parser/src/helpers/ord.rs: 0/5 +|| crates/solang/solang-parser/src/lexer.rs: 108/524 +|| crates/solang/solang-parser/src/lib.rs: 12/29 +|| crates/solang/solang-parser/src/pt.rs: 22/154 +|| crates/solang/src/abi/anchor.rs: 9/264 +|| crates/solang/src/abi/ethereum.rs: 0/43 +|| crates/solang/src/abi/mod.rs: 0/17 +|| crates/solang/src/abi/polkadot.rs: 0/293 +|| crates/solang/src/codegen/array_boundary.rs: 0/19 +|| crates/solang/src/codegen/cfg.rs: 146/839 +|| crates/solang/src/codegen/constant_folding.rs: 230/783 +|| crates/solang/src/codegen/constructor.rs: 0/47 +|| crates/solang/src/codegen/dead_storage.rs: 151/315 +|| crates/solang/src/codegen/dispatch/mod.rs: 3/4 +|| crates/solang/src/codegen/dispatch/polkadot.rs: 0/250 +|| crates/solang/src/codegen/dispatch/solana.rs: 127/163 +|| crates/solang/src/codegen/encoding/borsh_encoding.rs: 14/69 +|| crates/solang/src/codegen/encoding/buffer_validator.rs: 21/64 +|| crates/solang/src/codegen/encoding/mod.rs: 87/881 +|| crates/solang/src/codegen/encoding/scale_encoding.rs: 0/256 +|| crates/solang/src/codegen/events/mod.rs: 0/8 +|| crates/solang/src/codegen/events/polkadot.rs: 0/88 +|| crates/solang/src/codegen/events/solana.rs: 0/15 +|| crates/solang/src/codegen/expression.rs: 14/1343 +|| crates/solang/src/codegen/external_functions.rs: 22/80 +|| crates/solang/src/codegen/mod.rs: 114/733 +|| crates/solang/src/codegen/polkadot.rs: 0/62 +|| crates/solang/src/codegen/reaching_definitions.rs: 55/104 +|| crates/solang/src/codegen/revert.rs: 3/132 +|| crates/solang/src/codegen/solana_accounts/account_collection.rs: 47/191 +|| crates/solang/src/codegen/solana_accounts/account_management.rs: 21/76 +|| crates/solang/src/codegen/solana_accounts/mod.rs: 0/21 +|| crates/solang/src/codegen/solana_deploy.rs: 69/260 +|| crates/solang/src/codegen/statements/mod.rs: 42/428 +|| crates/solang/src/codegen/statements/try_catch.rs: 0/187 +|| crates/solang/src/codegen/storage.rs: 0/168 +|| crates/solang/src/codegen/strength_reduce/expression_values.rs: 42/395 +|| crates/solang/src/codegen/strength_reduce/mod.rs: 29/239 +|| crates/solang/src/codegen/strength_reduce/reaching_values.rs: 17/72 +|| crates/solang/src/codegen/strength_reduce/value.rs: 4/68 +|| crates/solang/src/codegen/subexpression_elimination/anticipated_expressions.rs: 18/52 +|| crates/solang/src/codegen/subexpression_elimination/available_expression.rs: 2/82 +|| crates/solang/src/codegen/subexpression_elimination/available_expression_set.rs: 24/261 +|| crates/solang/src/codegen/subexpression_elimination/available_variable.rs: 0/12 +|| crates/solang/src/codegen/subexpression_elimination/common_subexpression_tracker.rs: 11/88 +|| crates/solang/src/codegen/subexpression_elimination/expression.rs: 9/137 +|| crates/solang/src/codegen/subexpression_elimination/instruction.rs: 8/255 +|| crates/solang/src/codegen/subexpression_elimination/mod.rs: 70/87 +|| crates/solang/src/codegen/subexpression_elimination/operator.rs: 0/51 +|| crates/solang/src/codegen/undefined_variable.rs: 16/43 +|| crates/solang/src/codegen/unused_variable.rs: 0/26 +|| crates/solang/src/codegen/vartable.rs: 48/87 +|| crates/solang/src/codegen/vector_to_slice.rs: 38/90 +|| crates/solang/src/codegen/yul/builtin.rs: 0/234 +|| crates/solang/src/codegen/yul/expression.rs: 0/109 +|| crates/solang/src/codegen/yul/mod.rs: 0/32 +|| crates/solang/src/codegen/yul/statements.rs: 0/185 +|| crates/solang/src/file_resolver.rs: 42/113 +|| crates/solang/src/languageserver.rs: 323/1478 +|| crates/solang/src/lib.rs: 19/44 +|| crates/solang/src/sema/address.rs: 0/17 +|| crates/solang/src/sema/ast.rs: 71/393 +|| crates/solang/src/sema/builtin.rs: 414/991 +|| crates/solang/src/sema/builtin_structs.rs: 0/143 +|| crates/solang/src/sema/contracts.rs: 175/573 +|| crates/solang/src/sema/diagnostics.rs: 19/124 +|| crates/solang/src/sema/dotgraphviz.rs: 0/1190 +|| crates/solang/src/sema/eval.rs: 20/326 +|| crates/solang/src/sema/expression/arithmetic.rs: 0/376 +|| crates/solang/src/sema/expression/assign.rs: 0/229 +|| crates/solang/src/sema/expression/constructor.rs: 0/281 +|| crates/solang/src/sema/expression/function_call.rs: 0/1112 +|| crates/solang/src/sema/expression/integers.rs: 0/115 +|| crates/solang/src/sema/expression/literals.rs: 10/404 +|| crates/solang/src/sema/expression/member_access.rs: 0/408 +|| crates/solang/src/sema/expression/mod.rs: 12/695 +|| crates/solang/src/sema/expression/resolve_expression.rs: 3/289 +|| crates/solang/src/sema/expression/retrieve_type.rs: 2/15 +|| crates/solang/src/sema/expression/strings.rs: 9/57 +|| crates/solang/src/sema/expression/subscript.rs: 0/68 +|| crates/solang/src/sema/expression/variable.rs: 0/87 +|| crates/solang/src/sema/file.rs: 16/45 +|| crates/solang/src/sema/format.rs: 0/111 +|| crates/solang/src/sema/function_annotation.rs: 14/179 +|| crates/solang/src/sema/functions.rs: 112/575 +|| crates/solang/src/sema/mod.rs: 110/281 +|| crates/solang/src/sema/mutability.rs: 30/242 +|| crates/solang/src/sema/namespace.rs: 58/715 +|| crates/solang/src/sema/solana_accounts.rs: 6/26 +|| crates/solang/src/sema/statements.rs: 91/1137 +|| crates/solang/src/sema/symtable.rs: 14/72 +|| crates/solang/src/sema/tags.rs: 21/115 +|| crates/solang/src/sema/types.rs: 101/1089 +|| crates/solang/src/sema/unused_variable.rs: 22/221 +|| crates/solang/src/sema/using.rs: 0/247 +|| crates/solang/src/sema/variables.rs: 72/405 +|| crates/solang/src/sema/yul/ast.rs: 0/37 +|| crates/solang/src/sema/yul/block.rs: 0/35 +|| crates/solang/src/sema/yul/builtin.rs: 0/21 +|| crates/solang/src/sema/yul/expression.rs: 0/345 +|| crates/solang/src/sema/yul/for_loop.rs: 0/38 +|| crates/solang/src/sema/yul/functions.rs: 0/133 +|| crates/solang/src/sema/yul/mod.rs: 0/14 +|| crates/solang/src/sema/yul/statements.rs: 0/163 +|| crates/solang/src/sema/yul/switch.rs: 0/81 +|| crates/solang/src/sema/yul/types.rs: 0/49 +|| crates/solang/src/sema/yul/unused_variable.rs: 0/18 +|| +12.30% coverage, 3514/28567 lines covered +``` +
From d64092d2fd3a890898cfdabb57a10d99fbd7d933 Mon Sep 17 00:00:00 2001 From: philoniare Date: Sun, 4 Aug 2024 11:31:57 +0800 Subject: [PATCH 25/69] feat: add submission for subxtpy 1 milestone --- deliveries/subxtpy_1.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 deliveries/subxtpy_1.md diff --git a/deliveries/subxtpy_1.md b/deliveries/subxtpy_1.md new file mode 100644 index 000000000..c903c6335 --- /dev/null +++ b/deliveries/subxtpy_1.md @@ -0,0 +1,30 @@ +# Milestone Delivery :mailbox: + +**The delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).** + +* **Application Document:** [Proposal PR](https://github.com/w3f/Grants-Program/pull/2246) +* **Milestone Number:** 1 + +**Context** + +The current implementation of [subxtpy](https://github.com/philoniare/subxtpy) has bindings for the most common +functionality to read from storage, events, call runtime API and sign and submit extrinsics. The functionality is +mostly dynamic at the moment due to the way the macros are run at compile time with Rust. We do believe that static API +will be helpful to Python developers, so we intend to leverage Python decorators to generate static extrinsic call +methods from metadata in the next milestone delivery. + +**Deliverables** + +| Number | Deliverable | Link | +| -----: |---------------------------|--------------------------------------------------------------------------------| +| **0a.** | License | [Apache 2.0](https://github.com/philoniare/subxtpy/blob/main/LICENSE.md) | +| **0b.** | Documentation | [Readme](https://github.com/philoniare/subxtpy/blob/main/README.md) | +| **0c.** | Testing and Testing Guide | [Tests folder](https://github.com/philoniare/subxtpy/tree/main/tests) | +| 0e. | Article | [Article](https://www.philoniare.com/blog/subxtpy) | +| 1. | Project Setup | [README](https://github.com/philoniare/subxtpy/blob/main/README.md) | +| 2. | PyO3 Bindings | [Source code](https://github.com/philoniare/subxtpy/blob/main/src/lib.rs) | +| 3. | Client Functionality | [Source code](https://github.com/philoniare/subxtpy/blob/main/src/lib.rs) | +| 4. | Storage API | [Source code](https://github.com/philoniare/subxtpy/blob/main/src/lib.rs#L143) | +| 5. | Extrinsics API | [Source code](https://github.com/philoniare/subxtpy/blob/main/src/lib.rs#L292) | +| 6. | Error Handling | [Source code](https://github.com/philoniare/subxtpy/blob/main/src/lib.rs) + From 15f25ade522cf9b96ed47866b1dc26f4cf12009c Mon Sep 17 00:00:00 2001 From: Barath kanna <93442895+beekay2706@users.noreply.github.com> Date: Tue, 6 Aug 2024 20:40:02 +0700 Subject: [PATCH 26/69] Update links --- deliveries/cyborg.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deliveries/cyborg.md b/deliveries/cyborg.md index 4cb445133..6946e8287 100644 --- a/deliveries/cyborg.md +++ b/deliveries/cyborg.md @@ -23,4 +23,4 @@ A task verification system that verifies off-chain compute task results on-chain | 3. | [Substrate Module: Verification](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6/pallets/task-management) | This pallet will be responsible for assign the task to a secondary cluster for result verification. Once verifed the accepted result will be added to the block. | | 4. | [Substrate Module: Edge Connect](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6/pallets/edge-connect)| This pallet will posses the logic for schedluing tasks to a specific cluster that matches the required specifications| | 5. | [Worker K3S Operator](https://github.com/Cyborg-Network/Worker) | The k3s worker acts as a trusted controller. It securely stores deployment states, including manifests and defined secrets. Based on the manifests, the Worker uses remote attestation to authenticate the task exceution process.. | -| 6. | Worker logs | The execution logs of the deployed container to serve as a proof of work. | +| 6. | [Worker logs](https://docs.google.com/document/d/1p5JJ1K6iTV20h4qU1s38e-lRKMvXN6j2MsjITLswqEQ/edit#heading=h.2sttxlpksf0j) | The execution logs of the deployed container to serve as a proof of work. | From 1da6d6052a125bee0e76d56b6b680b972f740414 Mon Sep 17 00:00:00 2001 From: Fiono11 Date: Thu, 8 Aug 2024 16:42:58 +0100 Subject: [PATCH 27/69] Threshold Signature Implementation: Milestone 1 Delivery (#1203) --- deliveries/Threshold_Signature-milestone_1.md | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 deliveries/Threshold_Signature-milestone_1.md diff --git a/deliveries/Threshold_Signature-milestone_1.md b/deliveries/Threshold_Signature-milestone_1.md new file mode 100644 index 000000000..dfc7f39f8 --- /dev/null +++ b/deliveries/Threshold_Signature-milestone_1.md @@ -0,0 +1,23 @@ +# Milestone Delivery :mailbox: + +**The delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).** + +* **Application Document:** [https://github.com/w3f/Grants-Program/pull/2250](https://github.com/w3f/Grants-Program/blob/master/applications/ThresholdSignature.md) +* **Milestone Number:** 1 + +**Context** (optional) + +**Deliverables** + +| Number | Deliverable | Link | Notes | +| ------------- | ------------- | ------------- |------------- | +| **0a.** | License | [License file](https://github.com/w3f/schnorrkel?tab=BSD-3-Clause-1-ov-file#readme) | The license is BSD-3-Clause instead of GPLv3 | +| **0b.** | Documentation | The code is documented | The tutorial is not applicable to this milestone and will be done in milestone 2 | +| **0c.** | Testing and Testing Guide | The code can be tested with the command `cargo test` | | +| **0d.** | Docker | | This deliverable is not applicable to this milestone and will be done in milestone 2 | +| **1.a** | Pull Request of a FROST implementation merged into Schnorrkel repository | [Pull Request](https://github.com/w3f/schnorrkel/pull/107) | Olaf = SimplPedPoP + FROST | +| **1.b** | Pull Request of a SimplPedPop implementation merged into Schnorrkel repository | [Pull Request](https://github.com/w3f/schnorrkel/pull/106) | | + +**Additional Information** + +The pull requests of deliverables **1.a** and **1.b** will be merged in [this](https://github.com/w3f/schnorrkel/pull/110) as stated [here](https://github.com/w3f/Grants-Program/pull/2250#issuecomment-2258694872). From c0178146aee29e234bb140542c3370be6a4df5cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Fri, 9 Aug 2024 13:08:01 +0200 Subject: [PATCH 28/69] Update deliveries/subxtpy_1.md --- deliveries/subxtpy_1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deliveries/subxtpy_1.md b/deliveries/subxtpy_1.md index c903c6335..5611fdff1 100644 --- a/deliveries/subxtpy_1.md +++ b/deliveries/subxtpy_1.md @@ -2,7 +2,7 @@ **The delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).** -* **Application Document:** [Proposal PR](https://github.com/w3f/Grants-Program/pull/2246) +* **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/subxt-python.md * **Milestone Number:** 1 **Context** From 139c9b002e6383f3c4cfd5736bb303a715e5eee5 Mon Sep 17 00:00:00 2001 From: ditavia-br <104472081+ditavia-br@users.noreply.github.com> Date: Fri, 9 Aug 2024 13:05:11 -0300 Subject: [PATCH 29/69] Update cyborgnetwork_1_ditavia-br.md --- evaluations/cyborgnetwork_1_ditavia-br.md | 108 +++++++++++++++------- 1 file changed, 76 insertions(+), 32 deletions(-) diff --git a/evaluations/cyborgnetwork_1_ditavia-br.md b/evaluations/cyborgnetwork_1_ditavia-br.md index 1ebafae74..ab1413a24 100644 --- a/evaluations/cyborgnetwork_1_ditavia-br.md +++ b/evaluations/cyborgnetwork_1_ditavia-br.md @@ -9,7 +9,7 @@ | Number | Deliverable | Accepted | Link | Evaluation Notes | | ------ | ----------- | -------- | ---- |----------------- | | **0a.** | License |
  • [x]
| [License](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/LICENSE) | | -| **0b.** | Documentation |
  • [ ]
| [Documentation](https://docs.google.com/document/d/1p5JJ1K6iTV20h4qU1s38e-lRKMvXN6j2MsjITLswqEQ/edit#heading=h.mm3nklvp0xtd) | We haven't fully evaluated this yet, some comments in the evaluation. | +| **0b.** | Documentation |
  • [ ]
| [Documentation](https://docs.google.com/document/d/1p5JJ1K6iTV20h4qU1s38e-lRKMvXN6j2MsjITLswqEQ/edit#heading=h.mm3nklvp0xtd) | Missing the instruction to use the Docker image. | | **0c.** | Testing and Testing Guide |
  • [ ]
| [Testing and Testing Guide](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/INSTRUCTIONS.md) | We couldn't set up the system to test.| | **0d.** | Docker |
  • [ ]
| [Docker](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6) | Missing the instruction to use the Docker image. | | 1. | Working Demo |
  • [x]
| [Working Demo](https://drive.google.com/file/d/1cBpTbd4xRPdUz4_RgGIU7axy9Cb4MjD2/view?usp=sharing) | | @@ -19,6 +19,80 @@ | 5. | Worker K3S Operator |
  • [ ]
| [Worker K3S Operator](https://github.com/Cyborg-Network/Worker) | Not fully evaluated yet. | | 6. | Worker logs |
  • [ ]
| | Not fully evaluated yet. | +## Evaluation V2 + +### Documentation + +The testing guide improved, adding more details on how to set up the system and use the pallets. We tested the pallets, but we had some problems with the K3s. + +### Pallets + +We tested the pallets `workerCluster` and `taskManagement`. + +Image showing the cluster registration and the creation of the task schedule. + +![unnamed](https://github.com/user-attachments/assets/94f30282-98a8-4c46-bd5f-9342ba8d875f) + +Task submitted as completed: + +![unnamed(1)](https://github.com/user-attachments/assets/95ece585-91c1-4eca-9d2e-b2b83c19a311) + +The chain state showing the task completed: + +![unnamed(2)](https://github.com/user-attachments/assets/2a1745da-05c2-42f9-a831-4b554865290a) + +### K3s + +We had some trouble to set up the K3s system. We ran the script `MasterSetup.sh` to run the cluster on port 3000, and we ran the script `WorkerSetup.sh` in another machine, but when we tried to verify the master node and the worker node running, we didn't get the expected results. + +``` +ditavia@localhost:~/Documents/w3f/cyborg/Worker$ kubectl get nodes +E0809 08:39:30.875318 26883 memcache.go:265] couldn't get current server API group list: Get "https://127.0.0.1:6443/api?timeout=32s": dial tcp 127.0.0.1:6443: connect: connection refused +E0809 08:39:30.875666 26883 memcache.go:265] couldn't get current server API group list: Get "https://127.0.0.1:6443/api?timeout=32s": dial tcp 127.0.0.1:6443: connect: connection refused +E0809 08:39:30.877826 26883 memcache.go:265] couldn't get current server API group list: Get "https://127.0.0.1:6443/api?timeout=32s": dial tcp 127.0.0.1:6443: connect: connection refused +E0809 08:39:30.878412 26883 memcache.go:265] couldn't get current server API group list: Get "https://127.0.0.1:6443/api?timeout=32s": dial tcp 127.0.0.1:6443: connect: connection refused +E0809 08:39:30.880141 26883 memcache.go:265] couldn't get current server API group list: Get "https://127.0.0.1:6443/api?timeout=32s": dial tcp 127.0.0.1:6443: connect: connection refused +The connection to the server 127.0.0.1:6443 was refused - did you specify the right host or port? +``` + +We also tried to specify the host and port to verify, pointing to the process running on port 3000: + +``` +ditavia@localhost:~/Documents/w3f/cyborg/Worker$ kubectl get nodes -s 192.168.0.35:3000 +E0809 08:42:13.336275 28738 memcache.go:265] couldn't get current server API group list: the server could not find the requested resource +E0809 08:42:13.339509 28738 memcache.go:265] couldn't get current server API group list: the server could not find the requested resource +E0809 08:42:13.342129 28738 memcache.go:265] couldn't get current server API group list: the server could not find the requested resource +E0809 08:42:13.345192 28738 memcache.go:265] couldn't get current server API group list: the server could not find the requested resource +E0809 08:42:13.348266 28738 memcache.go:265] couldn't get current server API group list: the server could not find the requested resource +Error from server (NotFound): the server could not find the requested resource +``` + +### Frontend + +The front end on the branch `parachain-updates` has some problems: + +![unnamed(3)](https://github.com/user-attachments/assets/aa20fe24-0b6e-491d-93de-0c27cd88a768) + + +We returned to the `main` branch to check this problem. It only occurs when using the `parachain-updates` branch. We didn't get this problem again when we changed back to the branch `parachain-updates`. We could replicate this problem by cloning the repository again. + +We tried to test using the hosted chain. We registered the public IP: + +![unnamed(4)](https://github.com/user-attachments/assets/48140fff-2947-4983-afc2-3fa77404e7ff) + + +Uploaded the `hello-world` example, but the dashboard showed an error for that task: + +![unnamed(5)](https://github.com/user-attachments/assets/c0656f99-5676-4f9b-96fd-be734bc7d7ae) + +We checked the events on the chain to confirm if the chain got the task: + +![unnamed(6)](https://github.com/user-attachments/assets/a9f7b090-a53c-4ed9-9f8e-edcacf1103b0) + +We checked on the Chain state of this task: + +![unnamed(7)](https://github.com/user-attachments/assets/46211f5d-7d7d-454f-b266-5ba2d6ceedd9) + ## Evaluation V1 @@ -75,7 +149,6 @@ We executed the tests on the [parachain repository](https://github.com/Cyborg-Ne ``` Running unittests src/lib.rs (target/debug/deps/cyborg_runtime-aaf857bb1aae1125) - running 6 tests test weights::rocksdb_weights::constants::test_db_weights::sane ... ok test weights::extrinsic_weights::constants::test_weights::sane ... ok @@ -83,11 +156,8 @@ test weights::paritydb_weights::constants::test_db_weights::sane ... ok test weights::block_weights::constants::test_weights::sane ... ok test test_genesis_config_builds ... ok test __construct_runtime_integrity_test::runtime_integrity_tests ... ok - test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s - Running unittests src/lib.rs (target/debug/deps/orml_oracle-da8d838859985862) - running 13 tests test mock::test_genesis_config_builds ... ok test tests::should_return_none_for_non_exist_key ... ok @@ -102,11 +172,8 @@ test tests::should_combined_data ... ok test tests::should_clear_data_for_removed_members ... ok test tests::get_all_values_should_work ... ok test tests::values_are_updated_on_feed ... ok - test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s - Running unittests src/lib.rs (target/debug/deps/orml_traits-d9adbe25f1987f82) - running 15 tests test data_provider::tests::median_value_data_provider_works ... ok test get_by_key::tests::get_by_key_should_work ... ok @@ -123,11 +190,8 @@ test parameters::tests::test_define_parameters_key_convert ... ok test price::test::get_price_should_work ... ok test price::test::price_is_zero_should_not_panic ... ok test price::test::price_is_none_should_not_panic ... ok - test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s - Running unittests src/lib.rs (target/debug/deps/orml_utilities-c0ee81cba68f2125) - running 11 tests test ordered_set::tests::clear ... ok test ordered_set::tests::contains ... ok @@ -140,11 +204,8 @@ test tests::storage_transaction_basic_commit ... ok test tests::__construct_runtime_integrity_test::runtime_integrity_tests ... ok test tests::simulate_execution_works ... ok test tests::storage_transaction_basic_rollback ... ok - test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s - Running unittests src/lib.rs (target/debug/deps/pallet_edge_connect-9a8663a843d5d5c2) - running 8 tests test tests::it_works_for_registering_domain ... ok test mock::test_genesis_config_builds ... ok @@ -154,11 +215,8 @@ test tests::it_works_for_registering_ip ... ok test tests::it_works_for_removing_worker ... ok test tests::it_fails_for_registering_without_ip_or_domain ... ok test tests::it_fails_for_registering_duplicate_worker ... ok - test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s - Running unittests src/lib.rs (target/debug/deps/pallet_task_management-747199f1906b9b62) - running 9 tests test mock::test_genesis_config_builds ... ok test tests::it_fails_when_no_workers_are_available ... ok @@ -169,28 +227,18 @@ test tests::it_assigns_resolver_when_dispute_in_verification_and_resolves_task . test tests::it_works_when_verifying_task ... ok test tests::it_fails_when_submit_completed_task_with_invalid_owner ... ok test tests::it_reassigns_task_when_resolver_fails_to_resolve ... ok - test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s - Doc-tests cyborg-runtime - running 0 tests - test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s - Doc-tests orml-oracle - running 0 tests - test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s - Doc-tests orml-traits - running 3 tests test orml/traits/src/get_by_key.rs - get_by_key::parameter_type_with_key (line 12) ... ignored test orml/traits/src/parameters.rs - parameters::define_parameters (line 117) ... ok test orml/traits/src/parameters.rs - parameters::define_aggregrated_parameters (line 288) ... ok - test result: ok. 2 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 1.22s ``` @@ -214,12 +262,10 @@ We ran the command `npm run eslint:check` for the repository [cyborg-connect](ht 10:17 warning img elements must have an alt prop, either with meaningful text, or an empty string for decorative images jsx-a11y/alt-text 14:13 warning The href attribute is required for an anchor to be keyboard accessible. Provide a valid, navigable address as the href value. If you cannot provide an href, but still need the element to resemble a link, use a button and change it with appropriate styles. Learn more: https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/HEAD/docs/rules/anchor-is-valid.md jsx-a11y/anchor-is-valid 15:17 warning img elements must have an alt prop, either with meaningful text, or an empty string for decorative images jsx-a11y/alt-text - /home/ditavia/Documents/w3f/cyborg-connect/src/cyborg/layouts/SideBar.js 28:25 warning img elements must have an alt prop, either with meaningful text, or an empty string for decorative images jsx-a11y/alt-text 50:25 warning The href attribute is required for an anchor to be keyboard accessible. Provide a valid, navigable address as the href value. If you cannot provide an href, but still need the element to resemble a link, use a button and change it with appropriate styles. Learn more: https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/HEAD/docs/rules/anchor-is-valid.md jsx-a11y/anchor-is-valid 51:29 warning img elements must have an alt prop, either with meaningful text, or an empty string for decorative images jsx-a11y/alt-text - ✖ 20 problems (0 errors, 20 warnings) ``` @@ -233,7 +279,6 @@ warning: length comparison to zero | ^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!workers.is_empty()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero - warning: dereferencing a tuple pattern where every element takes a reference --> pallets/task-management/src/lib.rs:343:16 | @@ -246,7 +291,6 @@ help: try removing the `&` and `ref` parts 343 - .filter(|&(_, ref worker)| worker.status == WorkerStatusType::Inactive // change Inactive to Active with oracle 343 + .filter(|(_, worker)| worker.status == WorkerStatusType::Inactive // change Inactive to Active with oracle | - warning: length comparison to zero --> pallets/task-management/src/lib.rs:349:15 | @@ -254,8 +298,8 @@ warning: length comparison to zero | ^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!workers.is_empty()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero - warning: `pallet-task-management` (lib) generated 8 warnings (run `cargo clippy --fix --lib -p pallet-task-management` to apply 8 suggestions) ``` The fix of these warnings isn't mandatory but would be nice to have. +Footer From 69ac493217375ecb7083337d95df00666d56e6f4 Mon Sep 17 00:00:00 2001 From: ditavia-br <104472081+ditavia-br@users.noreply.github.com> Date: Fri, 9 Aug 2024 13:25:43 -0300 Subject: [PATCH 30/69] Update Solang_Playground_3_ditavia-br.md --- evaluations/Solang_Playground_3_ditavia-br.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/evaluations/Solang_Playground_3_ditavia-br.md b/evaluations/Solang_Playground_3_ditavia-br.md index 253bb7a77..2698dfbfc 100644 --- a/evaluations/Solang_Playground_3_ditavia-br.md +++ b/evaluations/Solang_Playground_3_ditavia-br.md @@ -1,6 +1,6 @@ # Evaluation -- **Status:** In Progress +- **Status:** Accepted - **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/Solang_Playground.md - **Milestone:** 3 - **Kusama Identity:** Address @@ -12,8 +12,10 @@ | **0b.** | Documentation |
  • [x]
| https://github.com/hyperledger-labs/solang-playground/blob/main/docs/interact_with_contracts_on_chain.md | | **0c.** | Testing and Testing Guide |
  • [x]
| https://github.com/hyperledger-labs/solang-playground/blob/main/README.md#testing | | **0d.** | Docker |
  • [x]
| https://github.com/hyperledger-labs/solang-playground/blob/main/README.md#docker | -| 1. | Solang Playground with `interact` functionality |
  • [ ]
| -Repo: https://github.com/hyperledger-labs/solang-playground
-Demo: https://drive.google.com/file/d/1LL6LuPbAvg8r_hCWeWop2Gl_tvgy_KpI/view?usp=sharing
-amd64 docker image: https://hub.docker.com/repository/docker/salaheldin18/solang-playground-amd64 .
You can find a link to the hosted editor in the repo's readme | Shouldn't the deploy and interaction function be on the IDE for this milestone? | +| 1. | Solang Playground with `interact` functionality |
  • [x]
| -Repo: https://github.com/hyperledger-labs/solang-playground
-Demo: https://drive.google.com/file/d/1LL6LuPbAvg8r_hCWeWop2Gl_tvgy_KpI/view?usp=sharing
-amd64 docker image: https://hub.docker.com/repository/docker/salaheldin18/solang-playground-amd64 .
You can find a link to the hosted editor in the repo's readme | | +## Evaluation V2 +The grantee answered our question [here](https://github.com/w3f/Grant-Milestone-Delivery/pull/1204#issuecomment-2263452176). The UI for interacting with the contract will be delivered in the next milestone. ## Evaluation V1 From 18ce8dca1c3ac22fb18d964cf1d5a6d426934829 Mon Sep 17 00:00:00 2001 From: Barath kanna <93442895+beekay2706@users.noreply.github.com> Date: Sat, 10 Aug 2024 12:38:16 +0700 Subject: [PATCH 31/69] improve documentation --- deliveries/cyborg.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/deliveries/cyborg.md b/deliveries/cyborg.md index 6946e8287..35610c596 100644 --- a/deliveries/cyborg.md +++ b/deliveries/cyborg.md @@ -15,12 +15,12 @@ A task verification system that verifies off-chain compute task results on-chain | Number | Deliverable | Specification | | -----: | ----------- | ------------- | | **0a.** | [License](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/LICENSE) | GPLv3 | -| **0b.** | [Documentation](https://docs.google.com/document/d/1p5JJ1K6iTV20h4qU1s38e-lRKMvXN6j2MsjITLswqEQ/edit#heading=h.mm3nklvp0xtd) | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how users can (for example) deploy docker images using our interface. | -| **0c.** | [Testing and Testing Guide](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/INSTRUCTIONS.md) | 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. | +| **0b.** | [Documentation](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/INSTRUCTIONS.md#cyborg-network---milestone-1-delivery) | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how users can (for example) deploy docker images using our interface. | +| **0c.** | [Testing and Testing Guide](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/INSTRUCTIONS.md#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](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6) | We will provide a Dockerfile that can be used to deploy a local substrate chain for testing. | | 1. | [Working Demo](https://drive.google.com/file/d/1cBpTbd4xRPdUz4_RgGIU7axy9Cb4MjD2/view?usp=sharing) | We will provide video documentation to help developers understand the process of deploying containered tasks.| | 2. | [Task Examples](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/README.md#task-examples) | We will provide example containers and data sets to help programmers understand and execute batch processes. Currently we provide Examples for Docker, Bash, Terraform etc.. | | 3. | [Substrate Module: Verification](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6/pallets/task-management) | This pallet will be responsible for assign the task to a secondary cluster for result verification. Once verifed the accepted result will be added to the block. | | 4. | [Substrate Module: Edge Connect](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6/pallets/edge-connect)| This pallet will posses the logic for schedluing tasks to a specific cluster that matches the required specifications| | 5. | [Worker K3S Operator](https://github.com/Cyborg-Network/Worker) | The k3s worker acts as a trusted controller. It securely stores deployment states, including manifests and defined secrets. Based on the manifests, the Worker uses remote attestation to authenticate the task exceution process.. | -| 6. | [Worker logs](https://docs.google.com/document/d/1p5JJ1K6iTV20h4qU1s38e-lRKMvXN6j2MsjITLswqEQ/edit#heading=h.2sttxlpksf0j) | The execution logs of the deployed container to serve as a proof of work. | +| 6. | [Worker logs](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/INSTRUCTIONS.md#worker-logs) | The execution logs of the deployed container to serve as a proof of work. | From f84b972ca26fb00f650352ad5184ed4057fbd5bc Mon Sep 17 00:00:00 2001 From: Barath kanna <93442895+beekay2706@users.noreply.github.com> Date: Sat, 10 Aug 2024 13:10:15 +0700 Subject: [PATCH 32/69] Include milestone number --- deliveries/{cyborg.md => cyborg-milestone-1.md} | 1 + 1 file changed, 1 insertion(+) rename deliveries/{cyborg.md => cyborg-milestone-1.md} (99%) diff --git a/deliveries/cyborg.md b/deliveries/cyborg-milestone-1.md similarity index 99% rename from deliveries/cyborg.md rename to deliveries/cyborg-milestone-1.md index 35610c596..ce6663d8d 100644 --- a/deliveries/cyborg.md +++ b/deliveries/cyborg-milestone-1.md @@ -3,6 +3,7 @@ **The delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).** * **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/Cyborg.md +* Milestone Number: 1 **Context** From b5a02bfb9bd94b1cf28f3a5bd483f9f0bc9003eb Mon Sep 17 00:00:00 2001 From: Barath kanna <93442895+beekay2706@users.noreply.github.com> Date: Sun, 11 Aug 2024 12:26:28 +0700 Subject: [PATCH 33/69] Update cyborg-milestone-1.md --- deliveries/cyborg-milestone-1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deliveries/cyborg-milestone-1.md b/deliveries/cyborg-milestone-1.md index ce6663d8d..4378c9cc1 100644 --- a/deliveries/cyborg-milestone-1.md +++ b/deliveries/cyborg-milestone-1.md @@ -3,7 +3,7 @@ **The delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).** * **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/Cyborg.md -* Milestone Number: 1 +* **Milestone Number:** 1 **Context** From c862613fee8696f166f1e5da1fa8e94907716f31 Mon Sep 17 00:00:00 2001 From: Piet <75956460+PieWol@users.noreply.github.com> Date: Wed, 14 Aug 2024 17:33:07 +0200 Subject: [PATCH 34/69] Update dotnix_2_piewol.md remove old issues --- evaluations/dotnix_2_piewol.md | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/evaluations/dotnix_2_piewol.md b/evaluations/dotnix_2_piewol.md index 28cc5cfb5..e0a265406 100755 --- a/evaluations/dotnix_2_piewol.md +++ b/evaluations/dotnix_2_piewol.md @@ -31,23 +31,6 @@ The validator runs fine in Docker. Also visible in the westend telemetry. Sorry IP: 1.0K in, 780B out CPU: 45ms ``` -turns out that there seems to be an issue with setting the node key. Even after running -``` -$ polkadot key generate-node-key | polkadot-validator --set-node-key -``` -The shortened error output after running -``` -$ journalctl -n 1000 -f -u polkadot-validator.service -``` - -```[root@bc3024fea3c8:~]# polkadot key generate-node-key | polkadot-validator --set-node-key -12D3KooWPihimSqbZkEV89YmWnnv8sKEWk68Z1nqRyZsE4jfksmi - -[root@bc3024fea3c8:~]# systemctl status polkadot-validator.service -● polkadot-validator.service - Polkadot Validator - Loaded: loaded (/etc/systemd/system/polkadot-validator.service; linked; pr> - Active: active (running) since Thu 2024-08-08 08:02:21 UTC; 15min ago -``` ## Audit Trail From 1505c3664152be4d754cd7322bd42feabff40828 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Wed, 14 Aug 2024 18:05:07 -0400 Subject: [PATCH 35/69] Update kodadot_assethub_indexer_m2_keeganquigley.md --- evaluations/kodadot_assethub_indexer_m2_keeganquigley.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/evaluations/kodadot_assethub_indexer_m2_keeganquigley.md b/evaluations/kodadot_assethub_indexer_m2_keeganquigley.md index ccbb8c64a..a0053af9d 100644 --- a/evaluations/kodadot_assethub_indexer_m2_keeganquigley.md +++ b/evaluations/kodadot_assethub_indexer_m2_keeganquigley.md @@ -354,6 +354,8 @@ Hosted version works as well https://squid.subsquid.io/speck/graphql ## Testing +Docker runs successfully. Tests could use more coverage. + 6 unit tests passing: ```ts From 32b3368106177b36fe7bdf5ca776d768b55152fd Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Wed, 14 Aug 2024 18:06:36 -0400 Subject: [PATCH 36/69] Update kodadot_assethub_indexer_m2_keeganquigley.md --- evaluations/kodadot_assethub_indexer_m2_keeganquigley.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/evaluations/kodadot_assethub_indexer_m2_keeganquigley.md b/evaluations/kodadot_assethub_indexer_m2_keeganquigley.md index a0053af9d..8ddd947d8 100644 --- a/evaluations/kodadot_assethub_indexer_m2_keeganquigley.md +++ b/evaluations/kodadot_assethub_indexer_m2_keeganquigley.md @@ -352,6 +352,8 @@ Grantee kept a detailed log here https://github.com/kodadot/stick/pull/294 Hosted version works as well https://squid.subsquid.io/speck/graphql +Token Schema works w/ GraphQL. CRUD handler works. + ## Testing Docker runs successfully. Tests could use more coverage. From 9bc4bafbcdf77985fc3617c685a36e38a7109359 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Wed, 14 Aug 2024 18:14:37 -0400 Subject: [PATCH 37/69] Update kodadot_assethub_indexer_m2_keeganquigley.md --- evaluations/kodadot_assethub_indexer_m2_keeganquigley.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/evaluations/kodadot_assethub_indexer_m2_keeganquigley.md b/evaluations/kodadot_assethub_indexer_m2_keeganquigley.md index 8ddd947d8..61f48092a 100644 --- a/evaluations/kodadot_assethub_indexer_m2_keeganquigley.md +++ b/evaluations/kodadot_assethub_indexer_m2_keeganquigley.md @@ -356,7 +356,7 @@ Token Schema works w/ GraphQL. CRUD handler works. ## Testing -Docker runs successfully. Tests could use more coverage. +Docker runs successfully. Tests could use more coverage. Team mentioned that Subsquid needs to write more internal unit tests for `database` usage but are currently blocked waiting for [Gateway 2.0](https://docs.subsquid.io/subsquid-network/participate/gateway/). Deliverables don't specify writing unit tests for downstream deps so I will go ahead and pass it. 6 unit tests passing: From 53cef80d66ede3de234a72972e2a9af2656d3ebc Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Wed, 14 Aug 2024 18:15:47 -0400 Subject: [PATCH 38/69] Update kodadot_assethub_indexer_m2_keeganquigley.md --- evaluations/kodadot_assethub_indexer_m2_keeganquigley.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/evaluations/kodadot_assethub_indexer_m2_keeganquigley.md b/evaluations/kodadot_assethub_indexer_m2_keeganquigley.md index 61f48092a..6faa4d34b 100644 --- a/evaluations/kodadot_assethub_indexer_m2_keeganquigley.md +++ b/evaluations/kodadot_assethub_indexer_m2_keeganquigley.md @@ -1,7 +1,7 @@ # Evaluation -- **Status:** In progress +- **Status:** Accepted - **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/kodadot_assethub_nft_m2.md - **Milestone:** 2 @@ -356,7 +356,7 @@ Token Schema works w/ GraphQL. CRUD handler works. ## Testing -Docker runs successfully. Tests could use more coverage. Team mentioned that Subsquid needs to write more internal unit tests for `database` usage but are currently blocked waiting for [Gateway 2.0](https://docs.subsquid.io/subsquid-network/participate/gateway/). Deliverables don't specify writing unit tests for downstream deps so I will go ahead and pass it. +Docker runs successfully. Tests could use more coverage. Team mentioned that Subsquid needs to write more internal unit tests for `database` usage but are currently blocked waiting for [Gateway 2.0](https://docs.subsquid.io/subsquid-network/participate/gateway/). Deliverables don't specify writing unit tests for downstream deps so I will go ahead and pass it, but consider adding more tests. 6 unit tests passing: From 6645cc1979a614211ea0f10d6f2eaae23c8a7aec Mon Sep 17 00:00:00 2001 From: ditavia-br <104472081+ditavia-br@users.noreply.github.com> Date: Fri, 16 Aug 2024 08:52:02 -0300 Subject: [PATCH 39/69] Plutonication M4 Evaluation (#1194) --- evaluations/plutonication_4_ditavia-br.md | 178 ++++++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 evaluations/plutonication_4_ditavia-br.md diff --git a/evaluations/plutonication_4_ditavia-br.md b/evaluations/plutonication_4_ditavia-br.md new file mode 100644 index 000000000..5f8e8f2c9 --- /dev/null +++ b/evaluations/plutonication_4_ditavia-br.md @@ -0,0 +1,178 @@ +# Evaluation + +- **Status:** Accepted +- **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/Plutonication.md +- **Milestone:** 4 +- **Kusama Identity:** Address +- **Previously successfully merged evaluation:** N/A + +| Number | Deliverable | Accepted | Link | Evaluation Notes | +| ------ | ----------- | -------- | ---- |----------------- | +| 0a. | Licence |
  • [x]
| [Plutonication](https://github.com/RostislavLitovkin/Plutonication/blob/Grant-delivery-4/packages/extension/LICENSE) | | +| 0b. | Documentation |
  • [x]
| Documentation for building the Plutonication is in [Readme](https://github.com/RostislavLitovkin/Plutonication/blob/Grant-delivery-4/README.md). Inline documentation is also provided. | | +| 0c. | Testing and Testing Guide |
  • [x]
| E2E testing: Download [Plutonication Extension from the Chrome web store](https://chromewebstore.google.com/detail/plutonication-extension-p/lndgpmicmhdhbmaebmghjjhaoglnaakl) and [PlutoWallet from Google Play](https://play.google.com/store/apps/details?id=com.rostislavlitovkin.plutowallet). Then, you can try to go to any dApp, for example https://polkadot.js.org/apps/ and you should see the Plutonication modal. Just scan the QR code by your phone and connect your wallet. | | +| 0d. | Docker |
  • [x]
| Not provided | | +| 0e. | Article |
  • [x]
| [Medium article](https://medium.com/@rostislavlitovkin/plutonication-cross-platform-connection-for-polkadot-wallets-a237c342d616) | | +| 1. | Plutonication Extension |
  • [x]
| https://github.com/RostislavLitovkin/Plutonication/tree/Grant-delivery-4/packages/extension | | +| 1a. | inject(..) |
  • [x]
| [inject](https://github.com/RostislavLitovkin/Plutonication/blob/4ee240477af659d83e724139f403544fdb2afb47/packages/extension/src/page.ts#L10) | | +| 1b. | onReceivePublicKey |
  • [x]
| [onReceivePublicKey](https://github.com/RostislavLitovkin/Plutonication/blob/4ee240477af659d83e724139f403544fdb2afb47/packages/plutonication/src/PlutonicationDAppClient.ts#L46) | | +| 1c. | signPayloadAsync |
  • [x]
| [signPayload](https://github.com/RostislavLitovkin/Plutonication/blob/4ee240477af659d83e724139f403544fdb2afb47/packages/plutonication/src/PlutonicationDAppClient.ts#L78) | | +| 1d. | payload_signature |
  • [x]
| [payload_signature](https://github.com/RostislavLitovkin/Plutonication/blob/4ee240477af659d83e724139f403544fdb2afb47/packages/plutonication/src/PlutonicationDAppClient.ts#L83) | | +| 1e. | signRawAsync |
  • [x]
| [signRaw](https://github.com/RostislavLitovkin/Plutonication/blob/4ee240477af659d83e724139f403544fdb2afb47/packages/plutonication/src/PlutonicationDAppClient.ts#L91) | | +| 1f. | raw_signature |
  • [x]
| [raw_signature](https://github.com/RostislavLitovkin/Plutonication/blob/4ee240477af659d83e724139f403544fdb2afb47/packages/plutonication/src/PlutonicationDAppClient.ts#L96) | | +| 2. | Chrome browser extension |
  • [x]
| Published to [Chrome web store](https://chromewebstore.google.com/detail/plutonication-extension-p/lndgpmicmhdhbmaebmghjjhaoglnaakl) | | + +## Evaluation V2 + +### Docker + +The Docker for the dApp example is now working without problems. + +``` +docker ps +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +90c47d04f239 plutonication-react-dapp-example "docker-entrypoint.s…" 12 minutes ago Up 12 minutes 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp musing_einstein +``` + +### Automated Tests + +We ran the tests, and this time all passed. + +``` +npx playwright test + +added 5 packages, and audited 6 packages in 4s + +found 0 vulnerabilities + +Running 5 tests using 1 worker +[chromium] › Penetration.spec.ts:9:5 › dApp does not behave correctly +2024-08-05 11:27:17 API/INIT: RPC methods not decorated: alephNode_emergencyFinalize, alephNode_getBlockAuthor, alephNode_ready, health, payment_queryFeeInfo, system_syncStat +2024-08-05 11:27:17 API/INIT: aleph-node/73: Not decorating unknown runtime apis: 0x2be3f75b696ad1f6/1 +Connected to api +Receive payload +Payload to Sign 0x00000000430000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +[chromium] › plutonication.spec.ts:9:5 › Communication between dApp and Wallet +2024-08-05 11:27:30 API/INIT: RPC methods not decorated: alephNode_emergencyFinalize, alephNode_getBlockAuthor, alephNode_ready, health, payment_queryFeeInfo, system_syncStat +2024-08-05 11:27:30 API/INIT: aleph-node/73: Not decorating unknown runtime apis: 0x2be3f75b696ad1f6/1 +Connected to api +Receive payload +Payload to Sign 0xac050700004769bbe59968882c1597ec1151621f0193547285125f1c1337371c013ff61f0f0080c6a47e8d03481c0400430000001100000005d5279c52c484cc80396535a316add7d47b1c5b9e0398dd1f584149341460c5d12ff783a76a5e07156d2a3ff61745b3a1f892bf6247c1b3bf0fd7ba2085eda6 +Received raw: [object Object] + Slow test file: [chromium] › plutonication.spec.ts (40.7s) + Consider splitting slow test files to speed up parallel execution + 5 passed (55.6s) + +To open last HTML report run: + + npx playwright show-report +``` + +### E2E Tests + +We tested deliverable `1a`, connecting the wallet on the `polkadot.js` dApp using the Plutonication Extension. + +Image showing the extension generating the QR code to connect the wallet. + +![unnamed (7)](https://github.com/user-attachments/assets/c1d2fa87-800d-42f0-9645-fd0e914eef86) + + +After scanning, the app shows it is connected. + +![unnamed (8)](https://github.com/user-attachments/assets/6fa4afeb-fc76-486c-83fd-5bdd3a24278c) + + +Image showing the account from the wallet connected to the `polkadot.js`. + +![unnamed (9)](https://github.com/user-attachments/assets/e69f43cb-8519-4e39-a7c0-c1c35035b840) + +We tested the deliverables `1b` to `1f` using the dApp example. + +After connecting the wallet, the dApp successfully got the account information. + +![unnamed (10)](https://github.com/user-attachments/assets/c0dbda0d-4b1a-4eae-92eb-2050a4f0c58b) + +We could use the `sign message`. + +Confirmation on the smartphone: + +![unnamed (11)](https://github.com/user-attachments/assets/f8752b98-335c-4df1-beee-72d54d43c25b) + +The console log shows the signature: + +![unnamed (12)](https://github.com/user-attachments/assets/38f5020e-4176-4885-9bbb-3893efc0d107) + +We could use the sign `balance_transfer`. + +Confirmation on the smartphone: + +![unnamed (13)](https://github.com/user-attachments/assets/68b03c65-9646-4151-9218-84857559da3e) + +`Polkadot.js` shows the transfer was successful: + +![unnamed (14)](https://github.com/user-attachments/assets/74bad34e-a216-4d2e-9042-a785f8fde2f9) + + +## Evaluation V1 + +### Documentation + +I was able to install and build the application. I was able to run the example without docker. However, the React App example is not running with docker: + +``` +docker run -p 3000:3000 plutonication-react-dapp-example +> example_dapp@0.1.0 start +> react-scripts start +/react-app/node_modules/schema-utils/node_modules/ajv-keywords/dist/index.js:25 + throw new Error("Unknown keyword " + keyword); + ^ +Error: Unknown keyword formatMinimum + at get (/react-app/node_modules/schema-utils/node_modules/ajv-keywords/dist/index.js:25:15) + at ajvKeywords (/react-app/node_modules/schema-utils/node_modules/ajv-keywords/dist/index.js:10:13) + at Object. (/react-app/node_modules/schema-utils/dist/validate.js:58:1) + at Module._compile (node:internal/modules/cjs/loader:1467:14) + at Module._extensions..js (node:internal/modules/cjs/loader:1551:10) + at Module.load (node:internal/modules/cjs/loader:1282:32) + at Module._load (node:internal/modules/cjs/loader:1098:12) + at TracingChannel.traceSync (node:diagnostics_channel:315:14) + at wrapModuleLoad (node:internal/modules/cjs/loader:215:24) + at Module.require (node:internal/modules/cjs/loader:1304:12) +Node.js v22.4.1 +``` + +Some automated tests are failing: + +``` +npm run test +> plutonication@1.0.0 test +> cd packages/tests && npx playwright test +Running 5 tests using 1 worker +[chromium] › Penetration.spec.ts:9:5 › dApp does not behave correctly +2024-07-15 13:40:56 API/INIT: RPC methods not decorated: alephNode_emergencyFinalize, alephNode_getBlockAuthor, alephNode_ready, health, payment_queryFeeInfo, system_syncStat +2024-07-15 13:40:56 API/INIT: aleph-node/73: Not decorating unknown runtime apis: 0x2be3f75b696ad1f6/1 +Connected to api + 1) [chromium] › Penetration.spec.ts:9:5 › dApp does not behave correctly ───────────────────────── + Test timeout of 30000ms exceeded. +[chromium] › plutonication.spec.ts:9:5 › Communication between dApp and Wallet +2024-07-15 13:41:27 API/INIT: RPC methods not decorated: alephNode_emergencyFinalize, alephNode_getBlockAuthor, alephNode_ready, health, payment_queryFeeInfo, system_syncStat +2024-07-15 13:41:27 API/INIT: aleph-node/73: Not decorating unknown runtime apis: 0x2be3f75b696ad1f6/1 +Connected to api + 2) [chromium] › plutonication.spec.ts:9:5 › Communication between dApp and Wallet ──────────────── + Test timeout of 30000ms exceeded. + 3) [chromium] › plutonication.spec.ts:128:5 › Disconnect dApp ──────────────────────────────────── + Test timeout of 30000ms exceeded. + Slow test file: [chromium] › Penetration.spec.ts (30.0s) + Consider splitting slow test files to speed up parallel execution + 3 failed + [chromium] › Penetration.spec.ts:9:5 › dApp does not behave correctly ────────────────────────── + [chromium] › plutonication.spec.ts:9:5 › Communication between dApp and Wallet ───────────────── + [chromium] › plutonication.spec.ts:128:5 › Disconnect dApp ───────────────────────────────────── + 2 passed (1.8m) +``` + +### E2E Tests + +I was able to install the mobile app and Google Chrome extension. The connection between the plugin and mobile app sometimes does work and sometimes doesn't. The observed behavior is the mobile app says that the wallet is connected however, sometimes the QR code from the plugin does not close and the app does not recognize the wallet as connected. + + +Furthermore, I was not able to successfully sign a transaction when the wallet was connected. The mobile app asks for confirmation and says that it was signed but Polkadot.js does not complete the transaction. From f2b2bacf5e21928df46c7c1b2793939fee7c6248 Mon Sep 17 00:00:00 2001 From: Liu-Cheng Xu Date: Sun, 18 Aug 2024 22:58:06 +0800 Subject: [PATCH 40/69] Add Subcoin milestone 2 (#1200) --- deliveries/subcoin-milestone-2.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 deliveries/subcoin-milestone-2.md diff --git a/deliveries/subcoin-milestone-2.md b/deliveries/subcoin-milestone-2.md new file mode 100644 index 000000000..e5d38e2b5 --- /dev/null +++ b/deliveries/subcoin-milestone-2.md @@ -0,0 +1,22 @@ +# Milestone Delivery :mailbox: + +**The delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).** + +* **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/Subcoin.md +* **Milestone Number:** 2 + +**Deliverables** + +| Number | Deliverable | Link | Notes | +| --- | --- | --- | --- | +| 0a. | License | https://github.com/subcoin-project/subcoin/blob/subcoin-milestone-2/LICENSE | | +| 0b. | Documentation | Each module has its own docs. The rendered inline rustdoc is deployed at https://subcoin-project.github.io/subcoin/. | | +| 0c. | Testing and Testing Guide | Install rust on your system and use this command to run tests: https://github.com/subcoin-project/subcoin/tree/subcoin-milestone-2?tab=readme-ov-file#run-tests | | +| 0d. | Docker | https://github.com/subcoin-project/subcoin/blob/subcoin-milestone-2/Dockerfile The docker image is available at https://github.com/subcoin-project/subcoin/pkgs/container/subcoin/249545041?tag=v0.2.0 | | +| 1. | Block Verification | https://github.com/subcoin-project/subcoin/blob/subcoin-milestone-2/crates/sc-consensus-nakamoto/src/verification.rs | | +| 2. | `bitcoin-network` | https://github.com/subcoin-project/subcoin/blob/subcoin-milestone-2/crates/subcoin-network/src/lib.rs | `bitcoin-network` crate is now renamed to `subcoin-network` for consistency. | + +**Additional Information** + +- Check out https://github.com/subcoin-project/subcoin/blob/subcoin-milestone-2/docs/src/usage.md#syncing-the-bitcoin-network for command to sync the Bitcoin network. +- Completing the initial full sync takes days at the moment, syncing the first 200000 blocks is relatively quick, the syncing process becomes progressively slower beyond this point. The performance of initial full sync will be pursued in the future. From 6324bb472d025c4b62b13fb0ca41c36c71cb4ea2 Mon Sep 17 00:00:00 2001 From: Piet <75956460+PieWol@users.noreply.github.com> Date: Sun, 18 Aug 2024 16:58:40 +0200 Subject: [PATCH 41/69] Subcoin M2 Eval (#1206) --- evaluations/subcoin_2_piewol.md | 197 ++++++++++++++++++++++++++++++++ 1 file changed, 197 insertions(+) create mode 100644 evaluations/subcoin_2_piewol.md diff --git a/evaluations/subcoin_2_piewol.md b/evaluations/subcoin_2_piewol.md new file mode 100644 index 000000000..e8bbc1e74 --- /dev/null +++ b/evaluations/subcoin_2_piewol.md @@ -0,0 +1,197 @@ +# Evaluation + +- **Status:** accepted +- **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/Subcoin.md +- **Milestone:** 2 + +| Number | Deliverable | Accepted | Link | Notes | +| -- | -- | --- | --- | --- | +| 0a. | License |
  • [x]
| https://github.com/subcoin-project/subcoin/blob/subcoin-milestone-2/LICENSE | ok | +| 0b. | Documentation |
  • [x]
| Each module has its own docs. The rendered inline rustdoc is deployed at https://subcoin-project.github.io/subcoin/. | thanks for extending | +| 0c. | Testing and Testing Guide |
  • [x]
| https://github.com/subcoin-project/subcoin/tree/subcoin-milestone-2?tab=readme-ov-file#run-tests | works | +| 0d. | Docker |
  • [x]
| https://github.com/subcoin-project/subcoin/blob/subcoin-milestone-2/Dockerfile The docker image is available at https://github.com/subcoin-project/subcoin/pkgs/container/subcoin/249545041?tag=v0.2.0 | works | +| 1. | Block Verification |
  • [x]
| https://github.com/subcoin-project/subcoin/blob/subcoin-milestone-2/crates/sc-consensus-nakamoto/src/verification.rs | ok | +| 2. | `bitcoin-network` |
  • [x]
| https://github.com/subcoin-project/subcoin/blob/subcoin-milestone-2/crates/subcoin-network/src/lib.rs | works, gets peers and imports blocks | + +# General Notes + +I'm glad to hear that you are planning to further extend the testing of the node and runtime. Looking forward to it. + +## Documentation + +Initially a few items were missing documentation. Thanks for adding docs on those. + +## Tests +All tests are passing. + + + +
+ + ubuntu@ip-172-31-30-101:~/subcoin$ cargo test --workspace --all + warning: /home/ubuntu/subcoin/crates/sc-consensus-nakamoto/Cargo.toml: version requirement `0.105.0+25.1` for dependency `bitcoinconsensus` includes semver metadata which will be ignored, removing the metadata is recommended to avoid confusion + warning: skipping duplicate package `embedded` found at `/home/ubuntu/.cargo/git/checkouts/rust-bitcoin-a512414fb5559947/3415d99/bitcoin/embedded` + warning: skipping duplicate package `embedded` found at `/home/ubuntu/.cargo/git/checkouts/rust-bitcoin-a512414fb5559947/e38bc26/bitcoin/embedded` + Finished `test` profile [unoptimized + debuginfo] target(s) in 1.90s + Running unittests src/lib.rs (target/debug/deps/pallet_bitcoin-5a032c981f885c6f) + + running 1 test + test tests::test_runtime_txid_type ... ok + + test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/pallet_executive-0f2fe428f34ee43f) + + running 0 tests + + test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/sc_consensus_nakamoto-673b557354b8ad14) + + running 2 tests + test verification::header_verify::tests::test_calculate_next_work_required ... ok + test verification::tests::test_find_utxo_in_current_block ... ok + + test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s + + Running unittests src/lib.rs (target/debug/deps/sc_fast_sync_backend-e8f6c6930431c426) + + running 2 tests + test tests::store_duplicate_justifications_is_forbidden ... ok + test tests::append_and_retrieve_justifications ... ok + + test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/subcoin_informant-bf64c25aba820de6) + + running 1 test + test display::test_display_block_hash ... ok + + test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/subcoin_network-7673d06b806b8fbc) + + running 7 tests + test orphan_blocks_pool::tests::orphan_block_pool_insert_orphan_block ... ok + test orphan_blocks_pool::tests::orphan_block_pool_insert_unknown_block ... ok + test checkpoint::tests::test_next_checkpoint ... ok + test orphan_blocks_pool::tests::orphan_block_pool_remove_known_blocks ... ok + test orphan_blocks_pool::tests::orphan_block_pool_remove_blocks_for_parent ... ok + test orphan_blocks_pool::tests::orphan_block_pool_remove_blocks ... ok + test block_downloader::blocks_first::tests::duplicate_block_announcement_should_not_be_downloaded_again ... ok + + test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 15.65s + + Running unittests src/lib.rs (target/debug/deps/subcoin_node-1d2acafb14d4f921) + + running 2 tests + test tests::rocksdb_disabled_in_substrate ... ok + test commands::tools::tests::test_revert_sha256d ... ok + + test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/bin/subcoin.rs (target/debug/deps/subcoin-a75fb5552deb51bf) + + running 0 tests + + test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/subcoin_primitives-a84d48eba265fe61) + + running 0 tests + + test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/subcoin_rpc-f6259db14fa5b487) + + running 1 test + test blockchain::tests::test_block_hash_serde ... ok + + test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/subcoin_runtime-e2c302348a4e7257) + + running 2 tests + test test_genesis_config_builds ... ok + test __construct_runtime_integrity_test::runtime_integrity_tests ... ok + + test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/subcoin_runtime_primitives-6e43d92ef6aec823) + + running 0 tests + + test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/subcoin_service-0b18db2ae41f5b3f) + + running 1 test + test block_executor::tests::off_runtime_in_memory_executor_should_produce_same_result_as_runtime_disk_executor ... ok + + test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 36.71 + + +
+ +## Docker +Image is building and running a container works as well. Specifically running the container as root solved initial issues. The node is running fine within Docker using the following command `docker run --user root subv2 run`. + +
+ +```` +ubuntu@ip-172-31-30-101:~/subcoin$ sudo docker build . +[+] Building 1843.6s (12/12) FINISHED docker:default + => [internal] load build definition from Dockerfile 0.1s + => => transferring dockerfile: 1.35kB 0.0s + => [internal] load metadata for docker.io/library/ubuntu:22.04 1.3s + => [internal] load .dockerignore 0.0s + => => transferring context: 2B 0.0s + => [internal] load build context 134.7s + => => transferring context: 12.66GB 134.6s + => [builder 1/5] FROM docker.io/library/ubuntu:22.04@sha256:340d9b015b19 3.5s + => => resolve docker.io/library/ubuntu:22.04@sha256:340d9b015b194dc6e2a1 0.0s + => => sha256:340d9b015b194dc6e2a13938944e0d016e57b967996 1.13kB / 1.13kB 0.0s + => => sha256:0eb0f877e1c869a300c442c41120e778db7161419244ee5 424B / 424B 0.0s + => => sha256:8a3cdc4d1ad3e314a91f76b7b99eed443f2152e3a9b 2.30kB / 2.30kB 0.0s + => => sha256:3713021b02770a720dea9b54c03d0ed83e03a2ef5 29.53MB / 29.53MB 1.2s + => => extracting sha256:3713021b02770a720dea9b54c03d0ed83e03a2ef5dce2898 2.0s + => [builder 2/5] WORKDIR /src 146.8s + => [builder 3/5] RUN apt-get update && DEBIAN_FRONTEND=noninteracti 43.5s + => [builder 4/5] COPY . . 176.3s + => [builder 5/5] RUN /root/.cargo/bin/cargo build --locked -- 1465.3s + => [stage-1 2/3] COPY --from=builder /subcoin /subcoin 0.2s + => [stage-1 3/3] RUN mkdir /node-data && chown nobody:nogroup /node-data 0.2s + => exporting to image 0.3s + => => exporting layers 0.3s + => => writing image sha256:9037f7d697a3625c15bc64fd85433e07bc5ebf0aebe98 0.0s + ```` + + ```` +root@ip-172-31-30-101:/home/ubuntu/subcoin# docker run --user root subv2 run +2024-08-18 14:49:23 Subcoin Node +2024-08-18 14:49:23 ✌️ version 0.1.0-b35da7ae2a4 +2024-08-18 14:49:23 ❤️ by xuliuchengxlc@gmail.com, 2024-2024 +2024-08-18 14:49:23 📋 Chain specification: Bitcoin +2024-08-18 14:49:23 🏷 Node name: lacking-harbor-7709 +2024-08-18 14:49:23 👤 Role: FULL +2024-08-18 14:49:23 💾 Database: ParityDb at /root/.local/share/subcoin/chains/mainnet/paritydb/full +2024-08-18 14:49:23 🔨 Initializing Genesis block/state (state: 0xf5c9…79d3, header-hash: 0x9f00…6b6c) +2024-08-18 14:49:25 🏁 CPU score: 693.98 MiBs +2024-08-18 14:49:25 🏁 Memory score: 10.05 GiBs +2024-08-18 14:49:25 🏁 Disk score (seq. writes): 212.38 MiBs +2024-08-18 14:49:25 🏁 Disk score (rand. writes): 93.89 MiBs +2024-08-18 14:49:25 📦 Highest known block at #0 +2024-08-18 14:49:25 Running JSON-RPC server: addr=127.0.0.1:9944, allowed origins=[] +2024-08-18 14:49:25 🔊 Listening on 127.0.0.1:8333 +2024-08-18 14:49:30 ⚙️ Syncing, target=#857354 (6 peers), best: #0 (0000…8ce26f,0x9f00…6b6c), finalized #0 (0000…8ce26f,0x9f00…6b6c), ⬇ 36.2kiB/s ⬆ 0.4kiB/s +2024-08-18 14:49:35 ⚙️ Syncing 0.0 bps, target=#857354 (6 peers), best: #0 (0000…8ce26f,0x9f00…6b6c), finalized #0 (0000…8ce26f,0x9f00…6b6c), ⬇ 0 ⬆ 0 +2024-08-18 14:49:40 ⚙️ Syncing 0.0 bps, target=#857354 (7 peers), best: #0 (0000…8ce26f,0x9f00…6b6c), finalized #0 (0000…8ce26f,0x9f00…6b6c), ⬇ 67 B/s ⬆ 53 + +```` + +
+ + + + + From 1a3bef1540aa938f39d3dac692e9acf25d1b11f8 Mon Sep 17 00:00:00 2001 From: ditavia-br <104472081+ditavia-br@users.noreply.github.com> Date: Mon, 19 Aug 2024 13:23:50 -0300 Subject: [PATCH 42/69] Update cyborgnetwork_1_ditavia-br.md --- evaluations/cyborgnetwork_1_ditavia-br.md | 98 +++++++++++++++++++++-- 1 file changed, 91 insertions(+), 7 deletions(-) diff --git a/evaluations/cyborgnetwork_1_ditavia-br.md b/evaluations/cyborgnetwork_1_ditavia-br.md index ab1413a24..375c17ce3 100644 --- a/evaluations/cyborgnetwork_1_ditavia-br.md +++ b/evaluations/cyborgnetwork_1_ditavia-br.md @@ -9,16 +9,100 @@ | Number | Deliverable | Accepted | Link | Evaluation Notes | | ------ | ----------- | -------- | ---- |----------------- | | **0a.** | License |
  • [x]
| [License](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/LICENSE) | | -| **0b.** | Documentation |
  • [ ]
| [Documentation](https://docs.google.com/document/d/1p5JJ1K6iTV20h4qU1s38e-lRKMvXN6j2MsjITLswqEQ/edit#heading=h.mm3nklvp0xtd) | Missing the instruction to use the Docker image. | -| **0c.** | Testing and Testing Guide |
  • [ ]
| [Testing and Testing Guide](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/INSTRUCTIONS.md) | We couldn't set up the system to test.| -| **0d.** | Docker |
  • [ ]
| [Docker](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6) | Missing the instruction to use the Docker image. | +| **0b.** | Documentation |
  • [ ]
| [Documentation](https://docs.google.com/document/d/1p5JJ1K6iTV20h4qU1s38e-lRKMvXN6j2MsjITLswqEQ/edit#heading=h.mm3nklvp0xtd) | The system is complex, and we couldn't put the system to work reading the testing guide. | +| **0c.** | Testing and Testing Guide |
  • [ ]
| [Testing and Testing Guide](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/INSTRUCTIONS.md) | We couldn't set up the system to test. | +| **0d.** | Docker |
  • [x]
| [Docker](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6) | The instructions to use the Docker image would be appreciated if added, but it has instructions to run using the Zumbienet. It is a complex system to set up using Docker. | | 1. | Working Demo |
  • [x]
| [Working Demo](https://drive.google.com/file/d/1cBpTbd4xRPdUz4_RgGIU7axy9Cb4MjD2/view?usp=sharing) | | | 2. | Task Examples |
  • [ ]
| [Task Examples](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/README.md#task-examples) | Not fully evaluated yet. | -| 3. | Substrate Module: Verification |
  • [ ]
| [Substrate Module: Verification](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6/pallets/task-management) | Not fully evaluated yet. | -| 4. | Substrate Module: Edge Connect |
  • [ ]
| [Substrate Module: Edge Connect](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6/pallets/edge-connect) | Not fully evaluated yet. | -| 5. | Worker K3S Operator |
  • [ ]
| [Worker K3S Operator](https://github.com/Cyborg-Network/Worker) | Not fully evaluated yet. | +| 3. | Substrate Module: Verification |
  • [x]
| [Substrate Module: Verification](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6/pallets/task-management) | | +| 4. | Substrate Module: Edge Connect |
  • [ ]
| [Substrate Module: Edge Connect](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6/pallets/edge-connect) | We couldn't use this pallet on the chains | +| 5. | Worker K3S Operator |
  • [ ]
| [Worker K3S Operator](https://github.com/Cyborg-Network/Worker) | Can this be tested without the front end? | | 6. | Worker logs |
  • [ ]
| | Not fully evaluated yet. | +## Evaluation V3 + +### Testing + +We set up the master-node and the worker-node using the Azura Virtual Machine as recomended. + + + +Master-node VM + +![image (61)](https://github.com/user-attachments/assets/129aaa66-f9ee-40e4-85d4-8e6b7a1d3f83) + + + + +Worker-node VM + +![image (62)](https://github.com/user-attachments/assets/cc8b0eae-9b74-4001-a9d9-0229af00ec50) + + + + +This time, the node was showing corret: + +``` +ditavia@cyborg1:~/cyborg/Worker$ kubectl get nodes +NAME STATUS ROLES AGE VERSION +k3s-master-01 Ready control-plane,master 21h v1.30.3+k3s1 +worker-one Ready 31s v1.30.3+k3s1 +``` + +We send the request + +``` +curl -X POST http://172.174.200.217:3000/deploy \ +-H "Content-Type: application/json" \ +-d '{"imageUrl": "hello-world"}' +``` + +Received the response: + +``` +{"message":"Deployment dynamic-deployment-0em6ht and Service created","nodePort":"31086"} +``` + +Master-node Log: + +``` +stdout: deployment.apps/dynamic-deployment-0em6ht created +service/dynamic-deployment-0em6ht-service created + +stderr: +``` + +We notice the pallet edge-connect isn't available in any of the three chains on the extrinsics. + +So we have done this on the [hosted chain](https://polkadot.js.org/apps/?rpc=wss://fraa-flashbox-3239-rpc.a.stagenet.tanssi.network#/extrinsics). I registered the node. The image shows the node registered. + + +![image (63)](https://github.com/user-attachments/assets/b10fb5b9-fa8b-49af-bc54-d3319a07d6c0) + + +We tested different versions of the front on the branch main, parachain-update (it was indicated to use this branch before, but now the guide doesn't specify a branch to test), and the hosted version. We used the hosted node because the local node hasn't finished the deployment. We need to test it locally to ensure the functionality. The hosted node registered the task but didn't return anything about the task on the logs like on the second evaluation. + +Image showing the console log when we tried to use the local node. + +![image (65)](https://github.com/user-attachments/assets/30727b45-9e56-4b62-8223-357a5bd11446) + +Image showing one of the task registrations done using the front end. + +![image (66)](https://github.com/user-attachments/assets/2e927482-89c2-4e28-b7b2-b719ce947018) + +Image showing the front end. + +![image (67)](https://github.com/user-attachments/assets/bd6f2511-ce3b-4c4b-b4c9-8cf14dbe10d9) + + +Image showing the console log on the front end (parachain-update). There seems to be some connection problem with the worker. No additional logs were generated on the Master-node or the frontend terminal. Using the branch main I received a similar log. + +![image (68)](https://github.com/user-attachments/assets/dec56b10-94eb-4277-bd8c-ac901b544f30) + + +We also noticed some instructions on the guide saying to use one function of the pallet, but the print uses another. + ## Evaluation V2 ### Documentation @@ -80,7 +164,7 @@ We tried to test using the hosted chain. We registered the public IP: ![unnamed(4)](https://github.com/user-attachments/assets/48140fff-2947-4983-afc2-3fa77404e7ff) - + Uploaded the `hello-world` example, but the dashboard showed an error for that task: ![unnamed(5)](https://github.com/user-attachments/assets/c0656f99-5676-4f9b-96fd-be734bc7d7ae) From 9e65130c93de17ec6ead08a219285e4a866f6188 Mon Sep 17 00:00:00 2001 From: Rostislav Litovkin <77352013+RostislavLitovkin@users.noreply.github.com> Date: Wed, 21 Aug 2024 13:26:25 +0200 Subject: [PATCH 43/69] Plutonication milestone 4 (#1192) --- deliveries/Plutonication_milestone_4.md | 32 +++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 deliveries/Plutonication_milestone_4.md diff --git a/deliveries/Plutonication_milestone_4.md b/deliveries/Plutonication_milestone_4.md new file mode 100644 index 000000000..2c794a674 --- /dev/null +++ b/deliveries/Plutonication_milestone_4.md @@ -0,0 +1,32 @@ +# Milestone Delivery :mailbox: + +**The delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).** + +* **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/Plutonication.md +* **Milestone Number:** 4 + +**Context** Plutonication Extension + +Chrome extension that injects the Plutonication code into any dApp that is compatible with polkadot.js-extension. + +**Deliverables** + +| Number | Deliverable | Link | Notes | +| ------------- | ------------- | ------------- |------------- | +| 0a. | Licence | [Plutonication](https://github.com/RostislavLitovkin/Plutonication/blob/Grant-delivery-4/packages/extension/LICENSE) | MIT | +| 0b. | Documentation | Documentation for building the Plutonication is in [Readme](https://github.com/RostislavLitovkin/Plutonication/blob/Grant-delivery-4/README.md). Inline documentation is also provided. | | +| 0c. | Testing and Testing Guide | E2E testing: Download [Plutonication Extension from the Chrome web store](https://chromewebstore.google.com/detail/plutonication-extension-p/lndgpmicmhdhbmaebmghjjhaoglnaakl) and [PlutoWallet from Google Play](https://play.google.com/store/apps/details?id=com.rostislavlitovkin.plutowallet). Then, you can try to go to any dApp, for example https://polkadot.js.org/apps/ and you should see the Plutonication modal. Just scan the QR code by your phone and connect your wallet. | | +| 0d. | Docker | Not provided | | +| 0e. | Article | [Medium article](https://medium.com/@rostislavlitovkin/plutonication-cross-platform-connection-for-polkadot-wallets-a237c342d616) | | +| 1. | Plutonication Extension | https://github.com/RostislavLitovkin/Plutonication/tree/Grant-delivery-4/packages/extension | | +| 1a. | inject(..) | [inject](https://github.com/RostislavLitovkin/Plutonication/blob/4ee240477af659d83e724139f403544fdb2afb47/packages/extension/src/page.ts#L10) | | +| 1b. | onReceivePublicKey | [onReceivePublicKey](https://github.com/RostislavLitovkin/Plutonication/blob/4ee240477af659d83e724139f403544fdb2afb47/packages/plutonication/src/PlutonicationDAppClient.ts#L46) | | +| 1c. | signPayloadAsync | [signPayload](https://github.com/RostislavLitovkin/Plutonication/blob/4ee240477af659d83e724139f403544fdb2afb47/packages/plutonication/src/PlutonicationDAppClient.ts#L78) | | +| 1d. | payload_signature | [payload_signature](https://github.com/RostislavLitovkin/Plutonication/blob/4ee240477af659d83e724139f403544fdb2afb47/packages/plutonication/src/PlutonicationDAppClient.ts#L83) | | +| 1e. | signRawAsync | [signRaw](https://github.com/RostislavLitovkin/Plutonication/blob/4ee240477af659d83e724139f403544fdb2afb47/packages/plutonication/src/PlutonicationDAppClient.ts#L91) | | +| 1f. | raw_signature | [raw_signature](https://github.com/RostislavLitovkin/Plutonication/blob/4ee240477af659d83e724139f403544fdb2afb47/packages/plutonication/src/PlutonicationDAppClient.ts#L96) | | +| 2. | Chrome browser extension | Published to [Chrome web store](https://chromewebstore.google.com/detail/plutonication-extension-p/lndgpmicmhdhbmaebmghjjhaoglnaakl) | | + + +**Additional Information** +To reduce code duplication and to increase code sustainability, we put the PlutonicationExtension project inside of the Plutonication repository. From 204585e20f08e746b0e2ac9d6000dbc616b16597 Mon Sep 17 00:00:00 2001 From: gmajor Date: Tue, 27 Aug 2024 15:28:38 +0800 Subject: [PATCH 44/69] Submit xcm-tools-follow-up-2_1.md --- deliveries/xcm-tools-follow-up-2_1.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 deliveries/xcm-tools-follow-up-2_1.md diff --git a/deliveries/xcm-tools-follow-up-2_1.md b/deliveries/xcm-tools-follow-up-2_1.md new file mode 100644 index 000000000..72d142e89 --- /dev/null +++ b/deliveries/xcm-tools-follow-up-2_1.md @@ -0,0 +1,17 @@ +# Milestone Delivery :mailbox: + +**The delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).** + +* **Application Document:** [xcm-tools-follow-up-2](https://github.com/w3f/Grants-Program/blob/master/applications/xcm-tools-follow-up-2.md) +* **Milestone Number:** 1 + +| Number | Deliverable | Link | Notes | +|--------|----------------------------------|-----------------------------------------------------------------------------------|------------| +| 0a. | License | https://github.com/gmajor-encrypt/xcm-tools/blob/main/LICENSE | Apache 2.0 | +| 0b. | Documentation | https://github.com/gmajor-encrypt/xcm-tools/blob/main/README.md | | +| 0c. | Testing and Testing Guide | https://github.com/gmajor-encrypt/xcm-tools#test | | +| 0d. | Docker | https://github.com/gmajor-encrypt/xcm-tools/blob/main/Dockerfile | | +| 1. | Polkadot <=> Kusama message send | https://github.com/gmajor-encrypt/xcm-tools/blob/main/tx/tx.go#L167 | | +| 2. | Message tracking | https://github.com/gmajor-encrypt/xcm-tools/blob/main/tracker/s2s.go | | +| 3. | Ethereum Bridge update | https://github.com/gmajor-encrypt/xcm-tools/blob/main/tracker/ethereum.go#L53-L55 | | +| 4. | Cli support | https://github.com/gmajor-encrypt/xcm-tools/blob/main/cmd/main.go | | \ No newline at end of file From ee96689526bd9da2a4f2cd3f62f7028b123e11c3 Mon Sep 17 00:00:00 2001 From: Barath kanna <93442895+beekay2706@users.noreply.github.com> Date: Sat, 31 Aug 2024 22:52:29 +0700 Subject: [PATCH 45/69] Fix naming ambiguity --- deliveries/cyborg-milestone-1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deliveries/cyborg-milestone-1.md b/deliveries/cyborg-milestone-1.md index 4378c9cc1..f2e969b5f 100644 --- a/deliveries/cyborg-milestone-1.md +++ b/deliveries/cyborg-milestone-1.md @@ -21,7 +21,7 @@ A task verification system that verifies off-chain compute task results on-chain | **0d.** | [Docker](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6) | We will provide a Dockerfile that can be used to deploy a local substrate chain for testing. | | 1. | [Working Demo](https://drive.google.com/file/d/1cBpTbd4xRPdUz4_RgGIU7axy9Cb4MjD2/view?usp=sharing) | We will provide video documentation to help developers understand the process of deploying containered tasks.| | 2. | [Task Examples](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/README.md#task-examples) | We will provide example containers and data sets to help programmers understand and execute batch processes. Currently we provide Examples for Docker, Bash, Terraform etc.. | -| 3. | [Substrate Module: Verification](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6/pallets/task-management) | This pallet will be responsible for assign the task to a secondary cluster for result verification. Once verifed the accepted result will be added to the block. | +| 3. | [Substrate Module: Task Management](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6/pallets/task-management) | This pallet will be responsible for assign the task to a secondary cluster for result verification. Once verifed the accepted result will be added to the block. | | 4. | [Substrate Module: Edge Connect](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6/pallets/edge-connect)| This pallet will posses the logic for schedluing tasks to a specific cluster that matches the required specifications| | 5. | [Worker K3S Operator](https://github.com/Cyborg-Network/Worker) | The k3s worker acts as a trusted controller. It securely stores deployment states, including manifests and defined secrets. Based on the manifests, the Worker uses remote attestation to authenticate the task exceution process.. | | 6. | [Worker logs](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/INSTRUCTIONS.md#worker-logs) | The execution logs of the deployed container to serve as a proof of work. | From f2905b5234ef7114e6107598ccf9336cbf05b3be Mon Sep 17 00:00:00 2001 From: pifragile Date: Wed, 4 Sep 2024 11:50:32 +0800 Subject: [PATCH 46/69] iso20022-ecosystem-research-and-technical-strategy delivery --- ...22-ecosystem-research-and-technical-strategy.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 deliveries/iso20022-ecosystem-research-and-technical-strategy.md diff --git a/deliveries/iso20022-ecosystem-research-and-technical-strategy.md b/deliveries/iso20022-ecosystem-research-and-technical-strategy.md new file mode 100644 index 000000000..ecbadd63a --- /dev/null +++ b/deliveries/iso20022-ecosystem-research-and-technical-strategy.md @@ -0,0 +1,14 @@ +# Milestone Delivery :mailbox: + +**The delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).** + +* **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/ISO20022-Implementation-POC.md +* **Milestone Number:** 1 + + + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0c.** | Methodology | Description of how the information was sourced. | +| **0e.** | Bibliography | List of sources | +| 1. | Article | The article can be found [here](https://hackmd.io/@pifragile/BkQKiNJqA)| \ No newline at end of file From 4d9d071c3d39648fd6f6f2080c995f64e292c545 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Wed, 4 Sep 2024 17:30:34 -0400 Subject: [PATCH 47/69] Create xcm-tools-follow-up_2_keeganquigley.md --- .../xcm-tools-follow-up_2_keeganquigley.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 evaluations/xcm-tools-follow-up_2_keeganquigley.md diff --git a/evaluations/xcm-tools-follow-up_2_keeganquigley.md b/evaluations/xcm-tools-follow-up_2_keeganquigley.md new file mode 100644 index 000000000..97fa1fdfc --- /dev/null +++ b/evaluations/xcm-tools-follow-up_2_keeganquigley.md @@ -0,0 +1,19 @@ +# Evaluation + +- **Status:** Accepted +- **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/xcm-tools-follow-up-2.md +- **Milestone:** 2 +- **Previously successfully merged evaluation:** PieWol + +| Number | Deliverable | Accepted | Link | Evaluation Notes | +|--------|---------|--------|-----------------------------------------------------------------------------|-------------------------| +| 0a. | License |
  • [x]
| https://github.com/gmajor-encrypt/xcm-tools/blob/main/LICENSE | Apache 2.0 | +| 0b. | Documentation |
  • [x]
| https://github.com/gmajor-encrypt/xcm-tools/blob/main/README.md | | +| 0c. | Testing and Testing Guide |
  • [x]
| https://github.com/gmajor-encrypt/xcm-tools#test | | +| 0d. | Docker |
  • [x]
| https://github.com/gmajor-encrypt/xcm-tools/blob/main/Dockerfile | Tests are passing. | +| 1. | Polkadot Kusama Message Send |
  • [x]
| https://github.com/gmajor-encrypt/xcm-tools/blob/main/tx/tx.go#L167 | | +| 2. | Message Tracking |
  • [x]
| https://github.com/gmajor-encrypt/xcm-tools/blob/main/tracker/s2s.go | | +| 3. | Ethereum Bridge update |
  • [x]
| https://github.com/gmajor-encrypt/xcm-tools/blob/main/tracker/ethereum.go#L53-L55 | | +| 4. | Cli support |
  • [x]
| https://github.com/gmajor-encrypt/xcm-tools/blob/main/cmd/main.go | | + +# General Notes From 08a35a4be41790c38408071df8ea9d9973e428cb Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Wed, 4 Sep 2024 17:49:46 -0400 Subject: [PATCH 48/69] Update xcm-tools-follow-up_2_keeganquigley.md --- .../xcm-tools-follow-up_2_keeganquigley.md | 635 +++++++++++++++++- 1 file changed, 629 insertions(+), 6 deletions(-) diff --git a/evaluations/xcm-tools-follow-up_2_keeganquigley.md b/evaluations/xcm-tools-follow-up_2_keeganquigley.md index 97fa1fdfc..17f17e349 100644 --- a/evaluations/xcm-tools-follow-up_2_keeganquigley.md +++ b/evaluations/xcm-tools-follow-up_2_keeganquigley.md @@ -9,11 +9,634 @@ |--------|---------|--------|-----------------------------------------------------------------------------|-------------------------| | 0a. | License |
  • [x]
| https://github.com/gmajor-encrypt/xcm-tools/blob/main/LICENSE | Apache 2.0 | | 0b. | Documentation |
  • [x]
| https://github.com/gmajor-encrypt/xcm-tools/blob/main/README.md | | -| 0c. | Testing and Testing Guide |
  • [x]
| https://github.com/gmajor-encrypt/xcm-tools#test | | -| 0d. | Docker |
  • [x]
| https://github.com/gmajor-encrypt/xcm-tools/blob/main/Dockerfile | Tests are passing. | -| 1. | Polkadot Kusama Message Send |
  • [x]
| https://github.com/gmajor-encrypt/xcm-tools/blob/main/tx/tx.go#L167 | | -| 2. | Message Tracking |
  • [x]
| https://github.com/gmajor-encrypt/xcm-tools/blob/main/tracker/s2s.go | | -| 3. | Ethereum Bridge update |
  • [x]
| https://github.com/gmajor-encrypt/xcm-tools/blob/main/tracker/ethereum.go#L53-L55 | | -| 4. | Cli support |
  • [x]
| https://github.com/gmajor-encrypt/xcm-tools/blob/main/cmd/main.go | | +| 0c. | Testing and Testing Guide |
  • [x]
| https://github.com/gmajor-encrypt/xcm-tools#test | Unit tests all pass. | +| 0d. | Docker |
  • [x]
| https://github.com/gmajor-encrypt/xcm-tools/blob/main/Dockerfile | Docker tests are passing. | +| 1. | Polkadot Kusama Message Send |
  • [x]
| https://github.com/gmajor-encrypt/xcm-tools/blob/main/tx/tx.go#L167 | Good | +| 2. | Message Tracking |
  • [x]
| https://github.com/gmajor-encrypt/xcm-tools/blob/main/tracker/s2s.go | Good | +| 3. | Ethereum Bridge update |
  • [x]
| https://github.com/gmajor-encrypt/xcm-tools/blob/main/tracker/ethereum.go#L53-L55 | Good | +| 4. | Cli support |
  • [x]
| https://github.com/gmajor-encrypt/xcm-tools/blob/main/cmd/main.go | Good | # General Notes + +Thanks for the nice work as usual. The CLI commands all work and I am able to run the examples, but the success message isn't matching the send type in some instances. + +```go +ubuntu@ip-172-31-22-192:~/xcm-tools/cmd$ go run . send UMP --dest 0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d --amount 10 --keyring 0xe5be9a5092b81bca64be81d212e7f2f9eba183bb7a90954f7b76361f6edb5c0a --endpoint wss://rococo-asset-hub-rpc.polkadot.io +2024/09/04 21:11:58 send UMP message success, tx hash: 0xd3038ed4bc125c03784c4a77ab9d0497a2168f5375e31608b247e3b5ccf67d6d +ubuntu@ip-172-31-22-192:~/xcm-tools/cmd$ go run . send DMP --dest 0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d --amount 10 --keyring 0xe5be9a5092b81bca64be81d212e7f2f9eba183bb7a90954f7b76361f6edb5c0a --endpoint wss://rococo-rpc.polkadot.io --paraId 1000 +2024/09/04 21:12:29 send HRMP message success, tx hash: 0xf6771dd80a50024416546ecafa1cc81c4b567216db183aa57f487d03f5a40e65 +ubuntu@ip-172-31-22-192:~/xcm-tools/cmd$ go run . send HRMP --dest 0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d --amount 10 --keyring 0xe5be9a5092b81bca64be81d212e7f2f9eba183bb7a90954f7b76361f6edb5c0a --endpoint wss://rococo-asset-hub-rpc.polkadot.io --paraId 2087 +2024/09/04 21:13:00 send HRMP message success, tx hash: 0xe9ad33318b4f84a325ea0fca1e8953738b082dc5c8cb91f63378ea86e14f2f48 +ubuntu@ip-172-31-22-192:~/xcm-tools/cmd$ go run . send EthBridge --dest 0x6EB228b7ab726b8B44892e8e273ACF3dcC9C0492 --amount 10 --keyring 0xc0417c253312107d808921fb1dd3b740b64e99794dca74bcc550179f7c42a255 --endpoint wss://rococo-asset-hub-rpc.polkadot.io --contract 0xfff9976782d46cc05630d1f6ebab18b2324d6b14 --chainId 11155111 +2024/09/04 21:13:15 send HRMP message success, tx hash: 0x75074a7f7f085ce0fe1c838b8a68334cd28a45fbccaa8b8cf04d8c781e908f15 +ubuntu@ip-172-31-22-192:~/xcm-tools/cmd$ go run . send S2SBridge --paraId 1000 --destChain westend --dest 0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d --amount 10 --keyring 0xc0417c253312107d808921fb1dd3b740b64e99794dca74bcc550179f7c42a255 --endpoint wss://rococo-asset-hub-rpc.polkadot.io + +2024/09/04 21:13:35 send HRMP message success, tx hash: 0xba7067912e3a6a23afb2f550d1dc971fab5a1bbbc8bcc10076379f699243087a +``` + +Help screen works: + +```go +ubuntu@ip-172-31-22-192:~/xcm-tools/cmd$ go run . -h +NAME: + Xcm tools - Xcm tools + +USAGE: + cmd [global options] command [command options] [arguments...] + +COMMANDS: + send send xcm message + parse parse xcm message + tracker tracker xcm message transaction + trackerEthBridge tracker snowBridge message transaction + trackerS2SBridge tracker polkadot bridge message transaction + help, h Shows a list of commands or help for one command + +GLOBAL OPTIONS: + --help, -h show help +``` +Go build works: + +```go +ubuntu@ip-172-31-28-63:~$ go install github.com/gmajor-encrypt/xcm-tools/cmd@latest +go: downloading github.com/gmajor-encrypt/xcm-tools v0.1.0 +go: downloading github.com/itering/scale.go v1.7.2 +go: downloading github.com/shopspring/decimal v1.3.1 +go: downloading github.com/urfave/cli v1.22.14 +go: downloading github.com/itering/substrate-api-rpc v0.6.1 +go: downloading github.com/cpuguy83/go-md2man/v2 v2.0.2 +go: downloading golang.org/x/crypto v0.12.0 +go: downloading github.com/huandu/xstrings v1.4.0 +go: downloading github.com/gorilla/websocket v1.4.2 +go: downloading github.com/jpillora/backoff v1.0.0 +go: downloading github.com/ChainSafe/go-schnorrkel v1.0.0 +go: downloading github.com/russross/blackfriday/v2 v2.1.0 +go: downloading golang.org/x/sys v0.11.0 +go: downloading github.com/pierrec/xxHash v0.1.5 +go: downloading github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d +go: downloading github.com/gtank/merlin v0.1.1-0.20191105220539-8318aed1a79f +go: downloading github.com/gtank/ristretto255 v0.1.2 +go: downloading github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 +``` +Docker build works: + +
+ Output + +```go +ubuntu@ip-172-31-22-192:~/xcm-tools$ docker build -f Dockerfile-build -t xcm-tools . +[+] Building 33.3s (10/10) FINISHED docker:default + => [internal] load build definition from Dockerfile-build 0.0s + => => transferring dockerfile: 174B 0.0s + => [internal] load metadata for docker.io/library/golang:1.21 1.2s + => [internal] load .dockerignore 0.0s + => => transferring context: 2B 0.0s + => [1/5] FROM docker.io/library/golang:1.21@sha256:4746d26432a9117a5f58e95cb9f954ddf0de128e9d5816886514199316e4a2fb 12.5s + => => resolve docker.io/library/golang:1.21@sha256:4746d26432a9117a5f58e95cb9f954ddf0de128e9d5816886514199316e4a2fb 0.0s + => => sha256:246ea1ed9cdb1164bb5cb7e1f45d7914b98c6d9418c8e1cc443105e820bbd9d1 2.82kB / 2.82kB 0.0s + => => sha256:4746d26432a9117a5f58e95cb9f954ddf0de128e9d5816886514199316e4a2fb 9.75kB / 9.75kB 0.0s + => => sha256:e6ba96dde4af9f4e06caba475fa65e94e4c54fe4aa3e9f4f504c02178eb8934e 2.32kB / 2.32kB 0.0s + => => sha256:6ed93aa58a52c9abc1ee472f1ac74b73d3adcccc2c30744498fd5f14f3f5d22c 64.14MB / 64.14MB 2.5s + => => sha256:903681d87777d28dc56866a07a2774c3fd5bf65fd734b24c9d0ecd9a13c9f636 49.55MB / 49.55MB 1.3s + => => sha256:3cbbe86a28c2f6b3c3e0e8c6dcfba369e1ea656cf8daf69be789e0fe2105982b 24.05MB / 24.05MB 0.8s + => => sha256:1f46bd02dde39f0741d70614fc607bf03c1a0cd60d52e7dd06c44f8fb9358709 92.23MB / 92.23MB 2.6s + => => sha256:54bf7053e2d96c2c7f4637ad7580bd64345b3c9fabb163e1fdb8894aea8a9af0 67.01MB / 67.01MB 3.1s + => => extracting sha256:903681d87777d28dc56866a07a2774c3fd5bf65fd734b24c9d0ecd9a13c9f636 2.1s + => => sha256:532d43a0bc41875119c835fd75616e87d5df2a3714ddea3a0b5a68c7c5982649 126B / 126B 2.8s + => => sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 32B / 32B 2.8s + => => extracting sha256:3cbbe86a28c2f6b3c3e0e8c6dcfba369e1ea656cf8daf69be789e0fe2105982b 0.5s + => => extracting sha256:6ed93aa58a52c9abc1ee472f1ac74b73d3adcccc2c30744498fd5f14f3f5d22c 2.0s + => => extracting sha256:1f46bd02dde39f0741d70614fc607bf03c1a0cd60d52e7dd06c44f8fb9358709 2.0s + => => extracting sha256:54bf7053e2d96c2c7f4637ad7580bd64345b3c9fabb163e1fdb8894aea8a9af0 3.6s + => => extracting sha256:532d43a0bc41875119c835fd75616e87d5df2a3714ddea3a0b5a68c7c5982649 0.0s + => => extracting sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 0.0s + => [internal] load build context 0.1s + => => transferring context: 401.68kB 0.0s + => [2/5] WORKDIR app 6.1s + => [3/5] COPY . . 0.1s + => [4/5] RUN go mod download 1.1s + => [5/5] RUN cd cmd && go build -o xcm-tools . 11.5s + => exporting to image 0.7s + => => exporting layers 0.6s + => => writing image sha256:9a9b41326e4e0b5ffc4a9b065e23bacbb1848fc35e29a8c73dfc72f6aac66979 0.0s + => => naming to docker.io/library/xcm-tools 0.0s + + 1 warning found (use docker --debug to expand): + - WorkdirRelativePath: Relative workdir "app" can have unexpected results if the base image changes (line 3) +ubuntu@ip-172-31-22-192:~/xcm-tools$ docker run -it xcm-tools -h +NAME: + Xcm tools - Xcm tools + +USAGE: + xcm-tools [global options] command [command options] [arguments...] + +COMMANDS: + send send xcm message + parse parse xcm message + tracker tracker xcm message transaction + trackerEthBridge tracker snowBridge message transaction + trackerS2SBridge tracker polkadot bridge message transaction + help, h Shows a list of commands or help for one command + +GLOBAL OPTIONS: + --help, -h show help +ubuntu@ip-172-31-22-192:~/xcm-tools$ +``` +
+ +## Testing + +Unit tests all pass: + +
+ Output + +```go +ubuntu@ip-172-31-22-192:~/xcm-tools$ go test -v ./... +go: downloading github.com/itering/scale.go v1.9.4 +go: downloading github.com/itering/substrate-api-rpc v0.7.2 +go: downloading github.com/stretchr/testify v1.8.4 +go: downloading github.com/shopspring/decimal v1.4.0 +go: downloading golang.org/x/crypto v0.26.0 +go: downloading github.com/huandu/xstrings v1.5.0 +go: downloading github.com/davecgh/go-spew v1.1.1 +go: downloading github.com/pmezard/go-difflib v1.0.0 +go: downloading gopkg.in/yaml.v3 v3.0.1 +go: downloading golang.org/x/sys v0.24.0 +=== RUN Test_Cli +--- PASS: Test_Cli (0.00s) +PASS +ok github.com/gmajor-encrypt/xcm-tools/cmd 0.018s +? github.com/gmajor-encrypt/xcm-tools/example [no test files] +=== RUN TestParseXcmMessageInstruction +--- PASS: TestParseXcmMessageInstruction (11.03s) +PASS +ok github.com/gmajor-encrypt/xcm-tools/parse 11.051s +=== RUN Test_getEventsFromChain +--- PASS: Test_getEventsFromChain (11.05s) +=== RUN Test_getEvents +--- PASS: Test_getEvents (10.85s) +=== RUN Test_findEventByEventId +--- PASS: Test_findEventByEventId (0.00s) +=== RUN Test_getExtrinsics +--- PASS: Test_getExtrinsics (10.88s) +=== RUN Test_getExtrinsicByIndex +--- PASS: Test_getExtrinsicByIndex (10.81s) +=== RUN Test_Enum +--- PASS: Test_Enum (0.00s) +=== RUN TestHRMPWatermark +--- PASS: TestHRMPWatermark (10.83s) +=== RUN TestParasInfo +--- PASS: TestParasInfo (10.54s) +=== RUN Test_TrackTx +2024/09/04 20:38:13 Start track xcm message with ExtrinsicIndex: 4310901-13 Protocol: UMP OriginEndpoint: wss://moonbeam-rpc.dwellir.com DestEndpoint: wss://polkadot-rpc.dwellir.com RelayEndpoint: +2024/09/04 20:38:28 Find messageHash 0xf053b9f150fbff79347bb6ed438e9cdf20083b7dbfa203078e9648b5bbfaa902 +2024/09/04 20:38:28 Find messageRaw 0x0310000400000000079e2d3d47280a1300000000079e2d3d4728010300286bee020010000d010204000101003628971d6b91628910aceeed80f922a1c539fa6bb201733d464b883acdd81b33 +2024/09/04 20:38:28 Find messageId +2024/09/04 20:38:28 Find nextBlock Hash 0xebaa16b5cc4c53595acb541ea46fdf9d6625f00ea335e91c53391d13cb599f36 +2024/09/04 20:38:28 Find relayChainBlockNum 17040495 +2024/09/04 20:38:34 Find relaychain blockHash 0xa3da6bce0cdd659254c9e476e17e7ffbe31f5dd537d255e5bd1bf7625ab194c7 +2024/09/04 20:38:41 Get relaychain events with blockHash 0xa3da6bce0cdd659254c9e476e17e7ffbe31f5dd537d255e5bd1bf7625ab194c7 +2024/09/04 20:38:41 Get relaychain events with blockHash 0xbb2fccd25e9377f00387f67f68c4ef42d2b343f2596b2077659acf66090110a2 +2024/09/04 20:38:41 Find UMP messageHash 0xf053b9f150fbff79347bb6ed438e9cdf20083b7dbfa203078e9648b5bbfaa902, result true +2024/09/04 20:38:41 Start track xcm message with ExtrinsicIndex: 17053966-2 Protocol: DMP OriginEndpoint: wss://polkadot-rpc.dwellir.com DestEndpoint: wss://moonbeam-rpc.dwellir.com RelayEndpoint: +2024/09/04 20:38:57 Find destParaId 2004 +2024/09/04 20:38:57 Find messageHash 0x99f8179f1a3ca331998e7369ced93ac187036f287dcd3d015f3bcc585df92fa4 +2024/09/04 20:38:57 Find 17053967 nextBlockHash,start fetch PendingAvailability 0x408b3ed597e1f031377173550dfed5f011871e6cb7fcc90f704d8d017ba5e394 +2024/09/04 20:38:57 Find 17053968 nextBlockHash,start fetch PendingAvailability 0x36883a138cdfa7d5fe54c39bd20c37da07dec760c0b2d7d9c7017a9b517f280a +2024/09/04 20:38:57 Get para block hash 0x51fdbefe8935a94153f14487b392d13d3b084a5059c0123263bc81c3ffa5ac72 +2024/09/04 20:39:08 Find DMP messageHash 0x99f8179f1a3ca331998e7369ced93ac187036f287dcd3d015f3bcc585df92fa4, process true +2024/09/04 20:39:08 Start track xcm message with ExtrinsicIndex: 4325642-7 Protocol: HRMP OriginEndpoint: wss://astar-rpc.dwellir.com DestEndpoint: wss://rpc.hydradx.cloud RelayEndpoint: wss://polkadot-rpc.dwellir.com +2024/09/04 20:39:27 Find messageHash 0x5d81466ae4b2d9fb1fd140cd690bb25276b0bfafabecd62840c67e0b062c8181 +2024/09/04 20:39:27 Find messageRaw 0310010400010100591f001700004c7809ca2f266c0a1300010100591f001700004c7809ca2f266c010300286bee020010000d01020400010100ceba54427482d5deaf3d4e2560d37d90c8b5ffc0210ea29591c153f1d0c90b0d +2024/09/04 20:39:27 Get NextBlockHash 0x6af502c85ce4ffe3ab209236f1aeb6a80412380c6c60bab75165814eee58455a +2024/09/04 20:39:27 Get RelayChainBlockNum 17053838 +2024/09/04 20:39:38 Get NextBlockHash 0x4d0cb9bad6e0a0df33d13ae766bbe81d270b98e08f084a5f4f9b6896e94025f7 +2024/09/04 20:39:38 Find nextBlockHash 0xd832025ae75194503537c9ec570e8972b249ed70fba238d6a2949e819c0586e7, block num 17053840,start fetch PendingAvailability +2024/09/04 20:39:38 Get para block hash 0x145889077928c1078ac2a3e0be7b7c88d1bb1547d513ec5e3773d56a4d3516ca +2024/09/04 20:39:49 start check block 0x145889077928c1078ac2a3e0be7b7c88d1bb1547d513ec5e3773d56a4d3516ca +2024/09/04 20:39:49 Find HRMP messageHash 0x5d81466ae4b2d9fb1fd140cd690bb25276b0bfafabecd62840c67e0b062c8181, result Success +--- PASS: Test_TrackTx (96.51s) +=== RUN TestTrackBridgeMessage +2024/09/04 20:39:49 Get ethereum message Id 0xc2e41ff7cfa5d7dff27d12965462da470c1dbb1b955da7a68e29e83f092d1d22 timestamp 1708654032 blockNum 5344483 +2024/09/04 20:39:50 Start crawl block num 2540323 +2024/09/04 20:39:51 Find bridge message has process in extrinsic index 2542078-2,event index 2542078-7 +2024/09/04 20:40:05 Find messageHash 0x91f9e0859a42e75dd6af502c082e2ede7731a55b7250cc62f82e2093be6a8ce2 +2024/09/04 20:40:05 Find messageRaw 03140004000100000b2037c77c800213000100000b2037c77c80020016040d010204010100a10f26079edaa802001400040000010300fff9976782d46cc05630d1f6ebab18b2324d6b14000300286bee0a130000010300fff9976782d46cc05630d1f6ebab18b2324d6b14000300286bee000d0102040001030010408b64fcd163439eb015650916a43d23b95b5d2c82c1df72f95ee1a2f939e3663a5eed261c1a5918a5b20ff3700ad5e9fdb9300a2c5b207fd02a588372f7d1e170c1bedf031eb58a118dc12d9917143fc76efd7f3c +2024/09/04 20:40:05 Get NextBlockHash 0x40c2a31cb3bcbafa89a5cd70f87e7339cbe901e086eab9d7152651547d8336f6 +2024/09/04 20:40:05 Get RelayChainBlockNum 9339562 +2024/09/04 20:40:20 Get NextBlockHash 0x6010ab32c653c7cbd7ba95de54f813aab6aa18b7bbcca9b2dd2deaf8e9c2f187 +2024/09/04 20:40:20 Find nextBlockHash 0xcfb13b2405a7e777550888442aa0220bec0af4349dd0980b5a01396d55036c74, block num 9339564,start fetch PendingAvailability +2024/09/04 20:40:20 Find nextBlockHash 0x3f622605891bfed0a0218c9e5a5531e7ffa3618123b3219b13c2245ab82a05fd, block num 9339565,start fetch PendingAvailability +2024/09/04 20:40:21 Get para block hash 0xd09f3ec7e029dc3ca5b8309a295952e8aec5a59ba178b9c01ce055e9c7f48b60 +2024/09/04 20:40:34 start check block 0xd09f3ec7e029dc3ca5b8309a295952e8aec5a59ba178b9c01ce055e9c7f48b60 +2024/09/04 20:40:34 start check block 0xddb9cf29f11185677b155e70a1e1bd151ae9c55d8e8b1691cd428dcbcfa4d605 +2024/09/04 20:40:34 Find Message messageid 0x82c1df72f95ee1a2f939e3663a5eed261c1a5918a5b20ff3700ad5e9fdb9300a +2024/09/04 20:40:34 Get etherStartBlockNum 0 +2024/09/04 20:40:34 Find bridge message have process in 5364918 0x1435866e5c320adac9fed7827934ce6c34f28bf6cc2b5fae1ab3f5512fd0db76 +--- PASS: TestTrackBridgeMessage (45.70s) +=== RUN TestTrackS2sBridgeMessage +2024/09/04 20:40:45 Find messageHash 0x56c6f4450b3b0c14adb7727d51ca61067a99b7b1c8ef993fd037039d61ac056c +2024/09/04 20:40:45 Find messageRaw 031400040001000007521e91f615130001000007521e91f6150016040d010204010100a10f26040100a10f140104000201090500040a1300020109050004000d01020400010100d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d2c11e1c09b4f6aece0bfa6c1678faf192b6808540c97a6855230f8af3e2eb835282c9cda4757a21cf60d57b4108946d3e0a961d4026cb29ab248b51858cfbe59e386 +2024/09/04 20:40:45 Get NextBlockHash 0x85a95c0c03515dc542147334e448147612fdfe9c08f6386609eb1921e1d04b64 +2024/09/04 20:40:45 Get RelayChainBlockNum 11726101 +2024/09/04 20:40:56 Get NextBlockHash 0x0b3fd48217f4198cf239e4027db7cabc65236d0fe4ef8999913fc7670bf3d11b +2024/09/04 20:40:56 Find nextBlockHash 0x4817f512a83f7aa57bcc888808eef3fe0e88c218c720d21ed95057b470a3043c, block num 11726103,start fetch PendingAvailability +2024/09/04 20:40:56 Get para block hash 0xc7ce137d3cef8368373fc7e2580d520b95b6386cc65e3a9faf40e773e2b4bff0 +2024/09/04 20:41:07 start check block 0xc7ce137d3cef8368373fc7e2580d520b95b6386cc65e3a9faf40e773e2b4bff0 +2024/09/04 20:41:07 start check block 0x580183c711beee0ea6088294c78b42ba7471208019371cbbe4087f145f39b54e +2024/09/04 20:41:07 start check block 0x332184c37060ffaa3986cd142354bc8c34dc06146ee65608d4533169b389e37d +2024/09/04 20:41:12 found destBridgeHeaderHash 0x315c4f176ead8620140d90af90991092fd401644509a899290fdd240d08cfd54 +nextHash 0xa9bb3eb51ca25537898025f689fa5c575e09c7c55589404128509107f78cda46 +2024/09/04 20:41:23 start check block 0 0x315c4f176ead8620140d90af90991092fd401644509a899290fdd240d08cfd54 +2024/09/04 20:41:23 start check block 4856648 0x545a74794a445a0d6be151e43b7b0479a82d274866782bd27d30ce030e124efd +2024/09/04 20:41:23 start check block 4856649 0xf8bb9a8bafc9f51faa2841478ea30f1d01d15889082e6327f748a6005d9dc3cd +2024/09/04 20:41:23 start check block 4856650 0x2fb3d3e7e8aaf1e3bd1b0eb922e995188bd10d5145d66ff1b986666acf44e826 +2024/09/04 20:41:23 start check block 4856651 0x1dc2b26c52a9c16ea2c5f0791f818a2518455d4004bd60165053076f0189c3ce +2024/09/04 20:41:23 start check block 4856652 0xf684e584e43d064efc3a03f7eb5e7f7ead56e4352f0f73c5b90849cf32a3ec29 +2024/09/04 20:41:23 start check block 4856653 0x1999638d06151e4841627ad13323102601c75f338f243fdd68b234fc448dc8e2 +2024/09/04 20:41:23 start check block 4856654 0x2d7cbc504978ad1bb7117de4a291fc1d307de70ac60a55219eeb4ff708b6afcc +2024/09/04 20:41:23 start check block 4856655 0xffd538bb336c9ae81e01e0f991e45c1d6b79a58ea6c3d251e4a3fe6f21d71817 +2024/09/04 20:41:23 start check block 4856656 0x64105cef05b0902e81f39a24c9b8ecdad90f5b7af8bf2f7bd07168866cde20dc +2024/09/04 20:41:23 start check block 4856657 0xdb5e5c33101b200faa0c7d0a4e071276eae91cb4d7ac15740a6c5795d27f8b56 +2024/09/04 20:41:23 start check block 4856658 0xfab0bd1245b8b8d520723abed4e1423f50b1aa1be6e8ccd067170c131e1666e5 +2024/09/04 20:41:24 start check block 4856659 0x23404a5736da0f35d27b4e2df8f9bcad5158a5759fb2b941c8cba56b1f8d73bd +2024/09/04 20:41:24 start check block 4856660 0x3deddd67f289a613b7e9248acaeb6630e42e8acc54b4d62fbf838e5d728acf26 +2024/09/04 20:41:24 start check block 4856661 0x0666fd3ab1773e167469e9752d3f221b13c10db2b9a3615082486886b19b269a +2024/09/04 20:41:24 start check block 4856662 0xb9d5a2682172b6cf2ae9655a69a4923b15c214b04fcdc14867bae1b573dcaf3c +2024/09/04 20:41:24 start check block 4856663 0xf4fae271ffd733097baa05dd34bc842c2ce2bda938e98eecec89b8e8359db71f +2024/09/04 20:41:24 start check block 4856664 0x445110d15476548ecf6a0a3337953a82f1c4adbe1131b59dd541a6ba0d83878b +2024/09/04 20:41:24 start check block 4856665 0x0b577c3bfa64d0b228b69fed566bfceccafc6f38be9129c382f4ef0b1c9e2e44 +2024/09/04 20:41:24 start check block 4856666 0xdfdcf77a95a6d215167b2e2fd798489a2f6817566b7a9cc95598e9c73ad2d180 +2024/09/04 20:41:24 found destChainExtrinsicIndex: 4856666-2 +2024/09/04 20:41:35 Find messageHash 0x15f220e89ffad54c7e07a1f6e22f441679da3d6516a10995c50f82bb0fef426a +2024/09/04 20:41:35 Find messageRaw 03200b01042c2509050b0100a10f0104000201090500040a1300020109050004000d01020400010100d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d2c11e1c09b4f6aece0bfa6c1678faf192b6808540c97a6855230f8af3e2eb83528 +2024/09/04 20:41:35 Get NextBlockHash 0x643aa1426b7052b42ea2e407a9774a3eba0dbc5310ddf46e1742ff5256ce072e +2024/09/04 20:41:35 Get RelayChainBlockNum 22099307 +2024/09/04 20:41:46 Get NextBlockHash 0x6ed50b2530e5a24b3a7fcb151f3ff80562ff7de7f3e4a323e87d3c515d6e4516 +2024/09/04 20:41:46 Find nextBlockHash 0x9e6f11c092aecd67266c59c6d69469bf3faf3764128d74df5d3e860401bb24ab, block num 22099309,start fetch PendingAvailability +2024/09/04 20:41:46 Get para block hash 0x3b9832e69b55ed337791f7300853f1ff839a01eb71ad9c4cabbbb47ed0710e32 +2024/09/04 20:41:57 start check block 0x3b9832e69b55ed337791f7300853f1ff839a01eb71ad9c4cabbbb47ed0710e32 +2024/09/04 20:41:57 start check block 0x08bddd944d9020d45d6fa705e08f029da990761399a861a85e17fdb57b53c580 +2024/09/04 20:41:57 start check block 0xa55431ad7c77a0ffce2ed88096d4c4b9dc68bf56f54b6af958cdfd775fa4de95 +2024/09/04 20:41:57 Find HRMP messageHash 0x15f220e89ffad54c7e07a1f6e22f441679da3d6516a10995c50f82bb0fef426a,messageId 0x11e1c09b4f6aece0bfa6c1678faf192b6808540c97a6855230f8af3e2eb83528 result false +--- PASS: TestTrackS2sBridgeMessage (82.06s) +PASS +ok github.com/gmajor-encrypt/xcm-tools/tracker 289.248s +=== RUN Test_Dmp_func +=== RUN Test_Dmp_func/LimitedReserveTransferAssets +=== RUN Test_Dmp_func/ReserveTransferAssets +=== RUN Test_Dmp_func/LimitedTeleportAssets +=== RUN Test_Dmp_func/TeleportAssets +=== RUN Test_Dmp_func/Send +--- PASS: Test_Dmp_func (0.00s) + --- PASS: Test_Dmp_func/LimitedReserveTransferAssets (0.00s) + --- PASS: Test_Dmp_func/ReserveTransferAssets (0.00s) + --- PASS: Test_Dmp_func/LimitedTeleportAssets (0.00s) + --- PASS: Test_Dmp_func/TeleportAssets (0.00s) + --- PASS: Test_Dmp_func/Send (0.00s) +=== RUN Test_HRMP_func +=== RUN Test_HRMP_func/LimitedReserveTransferAssets +=== RUN Test_HRMP_func/ReserveTransferAssets +=== RUN Test_HRMP_func/LimitedTeleportAssets +=== RUN Test_HRMP_func/TeleportAssets +=== RUN Test_HRMP_func/Send +=== RUN Test_HRMP_func/ReserveTransfer +--- PASS: Test_HRMP_func (0.00s) + --- PASS: Test_HRMP_func/LimitedReserveTransferAssets (0.00s) + --- PASS: Test_HRMP_func/ReserveTransferAssets (0.00s) + --- PASS: Test_HRMP_func/LimitedTeleportAssets (0.00s) + --- PASS: Test_HRMP_func/TeleportAssets (0.00s) + --- PASS: Test_HRMP_func/Send (0.00s) + --- PASS: Test_HRMP_func/ReserveTransfer (0.00s) +=== RUN Test_ConvertMultiLocationAccountId32 +--- PASS: Test_ConvertMultiLocationAccountId32 (0.00s) +=== RUN Test_SimplifyMultiLocationParaId +--- PASS: Test_SimplifyMultiLocationParaId (0.00s) +=== RUN Test_SimplifyMultiLocationRelayChain +--- PASS: Test_SimplifyMultiLocationRelayChain (0.00s) +=== RUN Test_SimplifyMultiAssets +--- PASS: Test_SimplifyMultiAssets (0.00s) +=== RUN Test_Client +--- PASS: Test_Client (10.93s) +=== RUN TestXcmTransfer +=== RUN TestXcmTransfer/Test_XCM_Ump_Transfer +=== RUN TestXcmTransfer/Test_XCM_HRMP_Send +--- PASS: TestXcmTransfer (10.85s) + --- PASS: TestXcmTransfer/Test_XCM_Ump_Transfer (0.09s) + --- PASS: TestXcmTransfer/Test_XCM_HRMP_Send (0.09s) +=== RUN TestDmpTransfer +=== RUN TestDmpTransfer/Test_XCM_Dmp_Transfer +--- PASS: TestDmpTransfer (10.92s) + --- PASS: TestDmpTransfer/Test_XCM_Dmp_Transfer (0.08s) +=== RUN TestPolkadotToEthereum +=== RUN TestPolkadotToEthereum/Test_XCM_To_Ethereum +--- PASS: TestPolkadotToEthereum (10.72s) + --- PASS: TestPolkadotToEthereum/Test_XCM_To_Ethereum (0.09s) +=== RUN TestRococoToWestend +=== RUN TestRococoToWestend/TestRococoToWestend +--- PASS: TestRococoToWestend (10.66s) + --- PASS: TestRococoToWestend/TestRococoToWestend (0.06s) +=== RUN Test_Ump_func +=== RUN Test_Ump_func/LimitedReserveTransferAssets +=== RUN Test_Ump_func/ReserveTransferAssets +=== RUN Test_Ump_func/LimitedTeleportAssets +=== RUN Test_Ump_func/TeleportAssets +=== RUN Test_Ump_func/Send +--- PASS: Test_Ump_func (0.00s) + --- PASS: Test_Ump_func/LimitedReserveTransferAssets (0.00s) + --- PASS: Test_Ump_func/ReserveTransferAssets (0.00s) + --- PASS: Test_Ump_func/LimitedTeleportAssets (0.00s) + --- PASS: Test_Ump_func/TeleportAssets (0.00s) + --- PASS: Test_Ump_func/Send (0.00s) +=== RUN TestXcmSend +=== RUN TestXcmSend/Test_XCM_Ump_Send +=== RUN TestXcmSend/Test_XCM_HRMP_Send +--- PASS: TestXcmSend (22.03s) + --- PASS: TestXcmSend/Test_XCM_Ump_Send (5.38s) + --- PASS: TestXcmSend/Test_XCM_HRMP_Send (6.02s) +=== RUN Test_XCM_Dmp_Send +--- PASS: Test_XCM_Dmp_Send (11.96s) +PASS +ok github.com/gmajor-encrypt/xcm-tools/tx 88.092s +=== RUN Test_EtherApi +=== RUN Test_EtherApi/Test_EthGetTransactionByHash +=== RUN Test_EtherApi/Test_EthGetTransactionReceipt +=== RUN Test_EtherApi/Test_EthGetBlockByNum +=== RUN Test_EtherApi/TestEtherscanGetLogs +--- PASS: Test_EtherApi (6.01s) + --- PASS: Test_EtherApi/Test_EthGetTransactionByHash (0.32s) + --- PASS: Test_EtherApi/Test_EthGetTransactionReceipt (0.26s) + --- PASS: Test_EtherApi/Test_EthGetBlockByNum (2.30s) + --- PASS: Test_EtherApi/TestEtherscanGetLogs (0.13s) +=== RUN Test_SubscanGetBlockByTime +--- PASS: Test_SubscanGetBlockByTime (1.58s) +=== RUN TestSubscanGetEvents +--- PASS: TestSubscanGetEvents (1.19s) +=== RUN Test_ToInt +--- PASS: Test_ToInt (0.00s) +=== RUN Test_HexToUint64 +--- PASS: Test_HexToUint64 (0.00s) +=== RUN Test_ToUint +--- PASS: Test_ToUint (0.00s) +=== RUN Test_InSlice +--- PASS: Test_InSlice (0.00s) +=== RUN Test_AnyToInt +--- PASS: Test_AnyToInt (0.00s) +PASS +ok github.com/gmajor-encrypt/xcm-tools/util 8.779s +``` +
+ +Docker unit tests also build and pass: + +
+ Output + +```go +ubuntu@ip-172-31-22-192:~/xcm-tools$ docker build -t xcm-tools-test . +[+] Building 1.0s (9/9) FINISHED docker:default + => [internal] load build definition from Dockerfile 0.0s + => => transferring dockerfile: 119B 0.0s + => [internal] load metadata for docker.io/library/golang:1.21 0.7s + => [internal] load .dockerignore 0.0s + => => transferring context: 2B 0.0s + => [1/4] FROM docker.io/library/golang:1.21@sha256:4746d26432a9117a5f58e95cb9f954ddf0de128e9d5816886514199316e4a2fb 0.0s + => [internal] load build context 0.1s + => => transferring context: 3.96kB 0.0s + => CACHED [2/4] WORKDIR app 0.0s + => CACHED [3/4] COPY . . 0.0s + => CACHED [4/4] RUN go mod download 0.0s + => exporting to image 0.0s + => => exporting layers 0.0s + => => writing image sha256:b8c224d391cdf8cca16e2c8b17178f4409c5ecc101f717edfb4a3238bb8e3db5 0.0s + => => naming to docker.io/library/xcm-tools-test 0.0s + + 2 warnings found (use docker --debug to expand): + - WorkdirRelativePath: Relative workdir "app" can have unexpected results if the base image changes (line 3) + - JSONArgsRecommended: JSON arguments recommended for CMD to prevent unintended behavior related to OS signals (line 9) +ubuntu@ip-172-31-22-192:~/xcm-tools$ docker run -it --rm xcm-tools-test +? github.com/gmajor-encrypt/xcm-tools/example [no test files] +=== RUN Test_Cli +--- PASS: Test_Cli (0.01s) +PASS +ok github.com/gmajor-encrypt/xcm-tools/cmd 0.038s +=== RUN TestParseXcmMessageInstruction +--- PASS: TestParseXcmMessageInstruction (10.93s) +PASS +ok github.com/gmajor-encrypt/xcm-tools/parse 10.973s +=== RUN Test_getEventsFromChain +--- PASS: Test_getEventsFromChain (10.93s) +=== RUN Test_getEvents +--- PASS: Test_getEvents (10.84s) +=== RUN Test_findEventByEventId +--- PASS: Test_findEventByEventId (0.00s) +=== RUN Test_getExtrinsics +--- PASS: Test_getExtrinsics (10.83s) +=== RUN Test_getExtrinsicByIndex +--- PASS: Test_getExtrinsicByIndex (10.77s) +=== RUN Test_Enum +--- PASS: Test_Enum (0.00s) +=== RUN TestHRMPWatermark +--- PASS: TestHRMPWatermark (10.80s) +=== RUN TestParasInfo +--- PASS: TestParasInfo (10.54s) +=== RUN Test_TrackTx +2024/09/04 20:51:37 Start track xcm message with ExtrinsicIndex: 4310901-13 Protocol: UMP OriginEndpoint: wss://moonbeam-rpc.dwellir.com DestEndpoint: wss://polkadot-rpc.dwellir.com RelayEndpoint: +2024/09/04 20:51:53 Find messageHash 0xf053b9f150fbff79347bb6ed438e9cdf20083b7dbfa203078e9648b5bbfaa902 +2024/09/04 20:51:53 Find messageRaw 0x0310000400000000079e2d3d47280a1300000000079e2d3d4728010300286bee020010000d010204000101003628971d6b91628910aceeed80f922a1c539fa6bb201733d464b883acdd81b33 +2024/09/04 20:51:53 Find messageId +2024/09/04 20:51:53 Find nextBlock Hash 0xebaa16b5cc4c53595acb541ea46fdf9d6625f00ea335e91c53391d13cb599f36 +2024/09/04 20:51:53 Find relayChainBlockNum 17040495 +2024/09/04 20:51:58 Find relaychain blockHash 0xa3da6bce0cdd659254c9e476e17e7ffbe31f5dd537d255e5bd1bf7625ab194c7 +2024/09/04 20:52:05 Get relaychain events with blockHash 0xa3da6bce0cdd659254c9e476e17e7ffbe31f5dd537d255e5bd1bf7625ab194c7 +2024/09/04 20:52:05 Get relaychain events with blockHash 0xbb2fccd25e9377f00387f67f68c4ef42d2b343f2596b2077659acf66090110a2 +2024/09/04 20:52:05 Find UMP messageHash 0xf053b9f150fbff79347bb6ed438e9cdf20083b7dbfa203078e9648b5bbfaa902, result true +2024/09/04 20:52:05 Start track xcm message with ExtrinsicIndex: 17053966-2 Protocol: DMP OriginEndpoint: wss://polkadot-rpc.dwellir.com DestEndpoint: wss://moonbeam-rpc.dwellir.com RelayEndpoint: +2024/09/04 20:52:21 Find destParaId 2004 +2024/09/04 20:52:21 Find messageHash 0x99f8179f1a3ca331998e7369ced93ac187036f287dcd3d015f3bcc585df92fa4 +2024/09/04 20:52:21 Find 17053967 nextBlockHash,start fetch PendingAvailability 0x408b3ed597e1f031377173550dfed5f011871e6cb7fcc90f704d8d017ba5e394 +2024/09/04 20:52:21 Find 17053968 nextBlockHash,start fetch PendingAvailability 0x36883a138cdfa7d5fe54c39bd20c37da07dec760c0b2d7d9c7017a9b517f280a +2024/09/04 20:52:21 Get para block hash 0x51fdbefe8935a94153f14487b392d13d3b084a5059c0123263bc81c3ffa5ac72 +2024/09/04 20:52:32 Find DMP messageHash 0x99f8179f1a3ca331998e7369ced93ac187036f287dcd3d015f3bcc585df92fa4, process true +2024/09/04 20:52:32 Start track xcm message with ExtrinsicIndex: 4325642-7 Protocol: HRMP OriginEndpoint: wss://astar-rpc.dwellir.com DestEndpoint: wss://rpc.hydradx.cloud RelayEndpoint: wss://polkadot-rpc.dwellir.com +2024/09/04 20:52:50 Find messageHash 0x5d81466ae4b2d9fb1fd140cd690bb25276b0bfafabecd62840c67e0b062c8181 +2024/09/04 20:52:50 Find messageRaw 0310010400010100591f001700004c7809ca2f266c0a1300010100591f001700004c7809ca2f266c010300286bee020010000d01020400010100ceba54427482d5deaf3d4e2560d37d90c8b5ffc0210ea29591c153f1d0c90b0d +2024/09/04 20:52:50 Get NextBlockHash 0x6af502c85ce4ffe3ab209236f1aeb6a80412380c6c60bab75165814eee58455a +2024/09/04 20:52:50 Get RelayChainBlockNum 17053838 +2024/09/04 20:53:01 Get NextBlockHash 0x4d0cb9bad6e0a0df33d13ae766bbe81d270b98e08f084a5f4f9b6896e94025f7 +2024/09/04 20:53:01 Find nextBlockHash 0xd832025ae75194503537c9ec570e8972b249ed70fba238d6a2949e819c0586e7, block num 17053840,start fetch PendingAvailability +2024/09/04 20:53:01 Get para block hash 0x145889077928c1078ac2a3e0be7b7c88d1bb1547d513ec5e3773d56a4d3516ca +2024/09/04 20:53:13 start check block 0x145889077928c1078ac2a3e0be7b7c88d1bb1547d513ec5e3773d56a4d3516ca +2024/09/04 20:53:13 Find HRMP messageHash 0x5d81466ae4b2d9fb1fd140cd690bb25276b0bfafabecd62840c67e0b062c8181, result Success +--- PASS: Test_TrackTx (95.97s) +=== RUN TestTrackBridgeMessage +2024/09/04 20:53:13 Get ethereum message Id 0xc2e41ff7cfa5d7dff27d12965462da470c1dbb1b955da7a68e29e83f092d1d22 timestamp 1708654032 blockNum 5344483 +2024/09/04 20:53:14 Start crawl block num 2540323 +2024/09/04 20:53:15 Find bridge message has process in extrinsic index 2542078-2,event index 2542078-7 +2024/09/04 20:53:26 Find messageHash 0x91f9e0859a42e75dd6af502c082e2ede7731a55b7250cc62f82e2093be6a8ce2 +2024/09/04 20:53:26 Find messageRaw 03140004000100000b2037c77c800213000100000b2037c77c80020016040d010204010100a10f26079edaa802001400040000010300fff9976782d46cc05630d1f6ebab18b2324d6b14000300286bee0a130000010300fff9976782d46cc05630d1f6ebab18b2324d6b14000300286bee000d0102040001030010408b64fcd163439eb015650916a43d23b95b5d2c82c1df72f95ee1a2f939e3663a5eed261c1a5918a5b20ff3700ad5e9fdb9300a2c5b207fd02a588372f7d1e170c1bedf031eb58a118dc12d9917143fc76efd7f3c +2024/09/04 20:53:26 Get NextBlockHash 0x40c2a31cb3bcbafa89a5cd70f87e7339cbe901e086eab9d7152651547d8336f6 +2024/09/04 20:53:26 Get RelayChainBlockNum 9339562 +2024/09/04 20:53:36 Get NextBlockHash 0x6010ab32c653c7cbd7ba95de54f813aab6aa18b7bbcca9b2dd2deaf8e9c2f187 +2024/09/04 20:53:36 Find nextBlockHash 0xcfb13b2405a7e777550888442aa0220bec0af4349dd0980b5a01396d55036c74, block num 9339564,start fetch PendingAvailability +2024/09/04 20:53:37 Find nextBlockHash 0x3f622605891bfed0a0218c9e5a5531e7ffa3618123b3219b13c2245ab82a05fd, block num 9339565,start fetch PendingAvailability +2024/09/04 20:53:37 Get para block hash 0xd09f3ec7e029dc3ca5b8309a295952e8aec5a59ba178b9c01ce055e9c7f48b60 +2024/09/04 20:53:47 start check block 0xd09f3ec7e029dc3ca5b8309a295952e8aec5a59ba178b9c01ce055e9c7f48b60 +2024/09/04 20:53:47 start check block 0xddb9cf29f11185677b155e70a1e1bd151ae9c55d8e8b1691cd428dcbcfa4d605 +2024/09/04 20:53:47 Find Message messageid 0x82c1df72f95ee1a2f939e3663a5eed261c1a5918a5b20ff3700ad5e9fdb9300a +2024/09/04 20:53:47 Get etherStartBlockNum 0 +2024/09/04 20:53:48 Find bridge message have process in 5364918 0x1435866e5c320adac9fed7827934ce6c34f28bf6cc2b5fae1ab3f5512fd0db76 +--- PASS: TestTrackBridgeMessage (35.20s) +=== RUN TestTrackS2sBridgeMessage +2024/09/04 20:53:59 Find messageHash 0x56c6f4450b3b0c14adb7727d51ca61067a99b7b1c8ef993fd037039d61ac056c +2024/09/04 20:53:59 Find messageRaw 031400040001000007521e91f615130001000007521e91f6150016040d010204010100a10f26040100a10f140104000201090500040a1300020109050004000d01020400010100d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d2c11e1c09b4f6aece0bfa6c1678faf192b6808540c97a6855230f8af3e2eb835282c9cda4757a21cf60d57b4108946d3e0a961d4026cb29ab248b51858cfbe59e386 +2024/09/04 20:53:59 Get NextBlockHash 0x85a95c0c03515dc542147334e448147612fdfe9c08f6386609eb1921e1d04b64 +2024/09/04 20:53:59 Get RelayChainBlockNum 11726101 +2024/09/04 20:54:09 Get NextBlockHash 0x0b3fd48217f4198cf239e4027db7cabc65236d0fe4ef8999913fc7670bf3d11b +2024/09/04 20:54:09 Find nextBlockHash 0x4817f512a83f7aa57bcc888808eef3fe0e88c218c720d21ed95057b470a3043c, block num 11726103,start fetch PendingAvailability +2024/09/04 20:54:09 Get para block hash 0xc7ce137d3cef8368373fc7e2580d520b95b6386cc65e3a9faf40e773e2b4bff0 +2024/09/04 20:54:20 start check block 0xc7ce137d3cef8368373fc7e2580d520b95b6386cc65e3a9faf40e773e2b4bff0 +2024/09/04 20:54:20 start check block 0x580183c711beee0ea6088294c78b42ba7471208019371cbbe4087f145f39b54e +2024/09/04 20:54:20 start check block 0x332184c37060ffaa3986cd142354bc8c34dc06146ee65608d4533169b389e37d +2024/09/04 20:54:25 found destBridgeHeaderHash 0x315c4f176ead8620140d90af90991092fd401644509a899290fdd240d08cfd54 +nextHash 0xa9bb3eb51ca25537898025f689fa5c575e09c7c55589404128509107f78cda46 +2024/09/04 20:54:36 start check block 0 0x315c4f176ead8620140d90af90991092fd401644509a899290fdd240d08cfd54 +2024/09/04 20:54:36 start check block 4856648 0x545a74794a445a0d6be151e43b7b0479a82d274866782bd27d30ce030e124efd +2024/09/04 20:54:36 start check block 4856649 0xf8bb9a8bafc9f51faa2841478ea30f1d01d15889082e6327f748a6005d9dc3cd +2024/09/04 20:54:36 start check block 4856650 0x2fb3d3e7e8aaf1e3bd1b0eb922e995188bd10d5145d66ff1b986666acf44e826 +2024/09/04 20:54:36 start check block 4856651 0x1dc2b26c52a9c16ea2c5f0791f818a2518455d4004bd60165053076f0189c3ce +2024/09/04 20:54:36 start check block 4856652 0xf684e584e43d064efc3a03f7eb5e7f7ead56e4352f0f73c5b90849cf32a3ec29 +2024/09/04 20:54:36 start check block 4856653 0x1999638d06151e4841627ad13323102601c75f338f243fdd68b234fc448dc8e2 +2024/09/04 20:54:36 start check block 4856654 0x2d7cbc504978ad1bb7117de4a291fc1d307de70ac60a55219eeb4ff708b6afcc +2024/09/04 20:54:36 start check block 4856655 0xffd538bb336c9ae81e01e0f991e45c1d6b79a58ea6c3d251e4a3fe6f21d71817 +2024/09/04 20:54:36 start check block 4856656 0x64105cef05b0902e81f39a24c9b8ecdad90f5b7af8bf2f7bd07168866cde20dc +2024/09/04 20:54:36 start check block 4856657 0xdb5e5c33101b200faa0c7d0a4e071276eae91cb4d7ac15740a6c5795d27f8b56 +2024/09/04 20:54:37 start check block 4856658 0xfab0bd1245b8b8d520723abed4e1423f50b1aa1be6e8ccd067170c131e1666e5 +2024/09/04 20:54:37 start check block 4856659 0x23404a5736da0f35d27b4e2df8f9bcad5158a5759fb2b941c8cba56b1f8d73bd +2024/09/04 20:54:37 start check block 4856660 0x3deddd67f289a613b7e9248acaeb6630e42e8acc54b4d62fbf838e5d728acf26 +2024/09/04 20:54:37 start check block 4856661 0x0666fd3ab1773e167469e9752d3f221b13c10db2b9a3615082486886b19b269a +2024/09/04 20:54:37 start check block 4856662 0xb9d5a2682172b6cf2ae9655a69a4923b15c214b04fcdc14867bae1b573dcaf3c +2024/09/04 20:54:37 start check block 4856663 0xf4fae271ffd733097baa05dd34bc842c2ce2bda938e98eecec89b8e8359db71f +2024/09/04 20:54:37 start check block 4856664 0x445110d15476548ecf6a0a3337953a82f1c4adbe1131b59dd541a6ba0d83878b +2024/09/04 20:54:37 start check block 4856665 0x0b577c3bfa64d0b228b69fed566bfceccafc6f38be9129c382f4ef0b1c9e2e44 +2024/09/04 20:54:37 start check block 4856666 0xdfdcf77a95a6d215167b2e2fd798489a2f6817566b7a9cc95598e9c73ad2d180 +2024/09/04 20:54:37 found destChainExtrinsicIndex: 4856666-2 +2024/09/04 20:54:48 Find messageHash 0x15f220e89ffad54c7e07a1f6e22f441679da3d6516a10995c50f82bb0fef426a +2024/09/04 20:54:48 Find messageRaw 03200b01042c2509050b0100a10f0104000201090500040a1300020109050004000d01020400010100d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d2c11e1c09b4f6aece0bfa6c1678faf192b6808540c97a6855230f8af3e2eb83528 +2024/09/04 20:54:48 Get NextBlockHash 0x643aa1426b7052b42ea2e407a9774a3eba0dbc5310ddf46e1742ff5256ce072e +2024/09/04 20:54:48 Get RelayChainBlockNum 22099307 +2024/09/04 20:54:59 Get NextBlockHash 0x6ed50b2530e5a24b3a7fcb151f3ff80562ff7de7f3e4a323e87d3c515d6e4516 +2024/09/04 20:54:59 Find nextBlockHash 0x9e6f11c092aecd67266c59c6d69469bf3faf3764128d74df5d3e860401bb24ab, block num 22099309,start fetch PendingAvailability +2024/09/04 20:54:59 Get para block hash 0x3b9832e69b55ed337791f7300853f1ff839a01eb71ad9c4cabbbb47ed0710e32 +2024/09/04 20:55:09 start check block 0x3b9832e69b55ed337791f7300853f1ff839a01eb71ad9c4cabbbb47ed0710e32 +2024/09/04 20:55:10 start check block 0x08bddd944d9020d45d6fa705e08f029da990761399a861a85e17fdb57b53c580 +2024/09/04 20:55:10 start check block 0xa55431ad7c77a0ffce2ed88096d4c4b9dc68bf56f54b6af958cdfd775fa4de95 +2024/09/04 20:55:10 Find HRMP messageHash 0x15f220e89ffad54c7e07a1f6e22f441679da3d6516a10995c50f82bb0fef426a,messageId 0x11e1c09b4f6aece0bfa6c1678faf192b6808540c97a6855230f8af3e2eb83528 result false +--- PASS: TestTrackS2sBridgeMessage (81.78s) +PASS +ok github.com/gmajor-encrypt/xcm-tools/tracker 277.674s +=== RUN Test_Dmp_func +=== RUN Test_Dmp_func/LimitedReserveTransferAssets +=== RUN Test_Dmp_func/ReserveTransferAssets +=== RUN Test_Dmp_func/LimitedTeleportAssets +=== RUN Test_Dmp_func/TeleportAssets +=== RUN Test_Dmp_func/Send +--- PASS: Test_Dmp_func (0.00s) + --- PASS: Test_Dmp_func/LimitedReserveTransferAssets (0.00s) + --- PASS: Test_Dmp_func/ReserveTransferAssets (0.00s) + --- PASS: Test_Dmp_func/LimitedTeleportAssets (0.00s) + --- PASS: Test_Dmp_func/TeleportAssets (0.00s) + --- PASS: Test_Dmp_func/Send (0.00s) +=== RUN Test_HRMP_func +=== RUN Test_HRMP_func/LimitedReserveTransferAssets +=== RUN Test_HRMP_func/ReserveTransferAssets +=== RUN Test_HRMP_func/LimitedTeleportAssets +=== RUN Test_HRMP_func/TeleportAssets +=== RUN Test_HRMP_func/Send +=== RUN Test_HRMP_func/ReserveTransfer +--- PASS: Test_HRMP_func (0.00s) + --- PASS: Test_HRMP_func/LimitedReserveTransferAssets (0.00s) + --- PASS: Test_HRMP_func/ReserveTransferAssets (0.00s) + --- PASS: Test_HRMP_func/LimitedTeleportAssets (0.00s) + --- PASS: Test_HRMP_func/TeleportAssets (0.00s) + --- PASS: Test_HRMP_func/Send (0.00s) + --- PASS: Test_HRMP_func/ReserveTransfer (0.00s) +=== RUN Test_ConvertMultiLocationAccountId32 +--- PASS: Test_ConvertMultiLocationAccountId32 (0.00s) +=== RUN Test_SimplifyMultiLocationParaId +--- PASS: Test_SimplifyMultiLocationParaId (0.00s) +=== RUN Test_SimplifyMultiLocationRelayChain +--- PASS: Test_SimplifyMultiLocationRelayChain (0.00s) +=== RUN Test_SimplifyMultiAssets +--- PASS: Test_SimplifyMultiAssets (0.00s) +=== RUN Test_Client +--- PASS: Test_Client (10.81s) +=== RUN TestXcmTransfer +=== RUN TestXcmTransfer/Test_XCM_Ump_Transfer +=== RUN TestXcmTransfer/Test_XCM_HRMP_Send +--- PASS: TestXcmTransfer (10.81s) + --- PASS: TestXcmTransfer/Test_XCM_Ump_Transfer (0.07s) + --- PASS: TestXcmTransfer/Test_XCM_HRMP_Send (0.10s) +=== RUN TestDmpTransfer +=== RUN TestDmpTransfer/Test_XCM_Dmp_Transfer +--- PASS: TestDmpTransfer (10.88s) + --- PASS: TestDmpTransfer/Test_XCM_Dmp_Transfer (0.09s) +=== RUN TestPolkadotToEthereum +=== RUN TestPolkadotToEthereum/Test_XCM_To_Ethereum +--- PASS: TestPolkadotToEthereum (10.72s) + --- PASS: TestPolkadotToEthereum/Test_XCM_To_Ethereum (0.08s) +=== RUN TestRococoToWestend +=== RUN TestRococoToWestend/TestRococoToWestend +--- PASS: TestRococoToWestend (10.70s) + --- PASS: TestRococoToWestend/TestRococoToWestend (0.08s) +=== RUN Test_Ump_func +=== RUN Test_Ump_func/LimitedReserveTransferAssets +=== RUN Test_Ump_func/ReserveTransferAssets +=== RUN Test_Ump_func/LimitedTeleportAssets +=== RUN Test_Ump_func/TeleportAssets +=== RUN Test_Ump_func/Send +--- PASS: Test_Ump_func (0.00s) + --- PASS: Test_Ump_func/LimitedReserveTransferAssets (0.00s) + --- PASS: Test_Ump_func/ReserveTransferAssets (0.00s) + --- PASS: Test_Ump_func/LimitedTeleportAssets (0.00s) + --- PASS: Test_Ump_func/TeleportAssets (0.00s) + --- PASS: Test_Ump_func/Send (0.00s) +=== RUN TestXcmSend +=== RUN TestXcmSend/Test_XCM_Ump_Send +=== RUN TestXcmSend/Test_XCM_HRMP_Send +--- PASS: TestXcmSend (21.38s) + --- PASS: TestXcmSend/Test_XCM_Ump_Send (4.66s) + --- PASS: TestXcmSend/Test_XCM_HRMP_Send (6.10s) +=== RUN Test_XCM_Dmp_Send +--- PASS: Test_XCM_Dmp_Send (11.91s) +PASS +ok github.com/gmajor-encrypt/xcm-tools/tx 87.227s +=== RUN Test_EtherApi +=== RUN Test_EtherApi/Test_EthGetTransactionByHash +=== RUN Test_EtherApi/Test_EthGetTransactionReceipt +=== RUN Test_EtherApi/Test_EthGetBlockByNum +=== RUN Test_EtherApi/TestEtherscanGetLogs +--- PASS: Test_EtherApi (6.08s) + --- PASS: Test_EtherApi/Test_EthGetTransactionByHash (0.42s) + --- PASS: Test_EtherApi/Test_EthGetTransactionReceipt (0.26s) + --- PASS: Test_EtherApi/Test_EthGetBlockByNum (2.27s) + --- PASS: Test_EtherApi/TestEtherscanGetLogs (0.13s) +=== RUN Test_SubscanGetBlockByTime +--- PASS: Test_SubscanGetBlockByTime (1.49s) +=== RUN TestSubscanGetEvents +--- PASS: TestSubscanGetEvents (1.08s) +=== RUN Test_ToInt +--- PASS: Test_ToInt (0.00s) +=== RUN Test_HexToUint64 +--- PASS: Test_HexToUint64 (0.00s) +=== RUN Test_ToUint +--- PASS: Test_ToUint (0.00s) +=== RUN Test_InSlice +--- PASS: Test_InSlice (0.00s) +=== RUN Test_AnyToInt +--- PASS: Test_AnyToInt (0.00s) +PASS +ok github.com/gmajor-encrypt/xcm-tools/util 8.654s +``` +
From 6ca0ae9669dc893b7ea72e722d2a04ea7803daa3 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Wed, 4 Sep 2024 17:49:58 -0400 Subject: [PATCH 49/69] Update xcm-tools-follow-up_2_keeganquigley.md --- evaluations/xcm-tools-follow-up_2_keeganquigley.md | 1 - 1 file changed, 1 deletion(-) diff --git a/evaluations/xcm-tools-follow-up_2_keeganquigley.md b/evaluations/xcm-tools-follow-up_2_keeganquigley.md index 17f17e349..63729f533 100644 --- a/evaluations/xcm-tools-follow-up_2_keeganquigley.md +++ b/evaluations/xcm-tools-follow-up_2_keeganquigley.md @@ -3,7 +3,6 @@ - **Status:** Accepted - **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/xcm-tools-follow-up-2.md - **Milestone:** 2 -- **Previously successfully merged evaluation:** PieWol | Number | Deliverable | Accepted | Link | Evaluation Notes | |--------|---------|--------|-----------------------------------------------------------------------------|-------------------------| From 8155b321ad858d7ea3032f9ac51306d7d757861d Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Wed, 4 Sep 2024 17:50:09 -0400 Subject: [PATCH 50/69] Update xcm-tools-follow-up_2_keeganquigley.md --- evaluations/xcm-tools-follow-up_2_keeganquigley.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/evaluations/xcm-tools-follow-up_2_keeganquigley.md b/evaluations/xcm-tools-follow-up_2_keeganquigley.md index 63729f533..90a1da852 100644 --- a/evaluations/xcm-tools-follow-up_2_keeganquigley.md +++ b/evaluations/xcm-tools-follow-up_2_keeganquigley.md @@ -2,7 +2,7 @@ - **Status:** Accepted - **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/xcm-tools-follow-up-2.md -- **Milestone:** 2 +- **Milestone:** 1 | Number | Deliverable | Accepted | Link | Evaluation Notes | |--------|---------|--------|-----------------------------------------------------------------------------|-------------------------| From 3dca5e98538c4a9d8b4f2320fb15177a76a074e8 Mon Sep 17 00:00:00 2001 From: Barath kanna <93442895+beekay2706@users.noreply.github.com> Date: Thu, 5 Sep 2024 14:21:59 +0530 Subject: [PATCH 51/69] update video documentation --- deliveries/cyborg-milestone-1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deliveries/cyborg-milestone-1.md b/deliveries/cyborg-milestone-1.md index f2e969b5f..f4ff67e3a 100644 --- a/deliveries/cyborg-milestone-1.md +++ b/deliveries/cyborg-milestone-1.md @@ -19,7 +19,7 @@ A task verification system that verifies off-chain compute task results on-chain | **0b.** | [Documentation](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/INSTRUCTIONS.md#cyborg-network---milestone-1-delivery) | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how users can (for example) deploy docker images using our interface. | | **0c.** | [Testing and Testing Guide](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/INSTRUCTIONS.md#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](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6) | We will provide a Dockerfile that can be used to deploy a local substrate chain for testing. | -| 1. | [Working Demo](https://drive.google.com/file/d/1cBpTbd4xRPdUz4_RgGIU7axy9Cb4MjD2/view?usp=sharing) | We will provide video documentation to help developers understand the process of deploying containered tasks.| +| 1. | [Working Demo](https://drive.google.com/file/d/1URMopsQZBgGCsZYqiznWOxwmg9wDIdfH/view?usp=sharing) | We will provide video documentation to help developers understand the process of deploying containered tasks.| | 2. | [Task Examples](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/README.md#task-examples) | We will provide example containers and data sets to help programmers understand and execute batch processes. Currently we provide Examples for Docker, Bash, Terraform etc.. | | 3. | [Substrate Module: Task Management](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6/pallets/task-management) | This pallet will be responsible for assign the task to a secondary cluster for result verification. Once verifed the accepted result will be added to the block. | | 4. | [Substrate Module: Edge Connect](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6/pallets/edge-connect)| This pallet will posses the logic for schedluing tasks to a specific cluster that matches the required specifications| From b70c8ea77de6ccde153e66526c8a49f71d028f13 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Thu, 5 Sep 2024 18:13:13 -0400 Subject: [PATCH 52/69] Update xcm-tools-follow-up_2_keeganquigley.md --- .../xcm-tools-follow-up_2_keeganquigley.md | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/evaluations/xcm-tools-follow-up_2_keeganquigley.md b/evaluations/xcm-tools-follow-up_2_keeganquigley.md index 90a1da852..b07072dbc 100644 --- a/evaluations/xcm-tools-follow-up_2_keeganquigley.md +++ b/evaluations/xcm-tools-follow-up_2_keeganquigley.md @@ -17,20 +17,29 @@ # General Notes -Thanks for the nice work as usual. The CLI commands all work and I am able to run the examples, but the success message isn't matching the send type in some instances. +Thanks for the nice work as usual. + +~~The CLI commands all work and I am able to run the examples, but the success message isn't matching the send type in some instances.~~ + +EDIT: Issue is resolved and success messages are all correct now: ```go +ubuntu@ip-172-31-22-192:~/xcm-tools/cmd$ # UMP ubuntu@ip-172-31-22-192:~/xcm-tools/cmd$ go run . send UMP --dest 0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d --amount 10 --keyring 0xe5be9a5092b81bca64be81d212e7f2f9eba183bb7a90954f7b76361f6edb5c0a --endpoint wss://rococo-asset-hub-rpc.polkadot.io -2024/09/04 21:11:58 send UMP message success, tx hash: 0xd3038ed4bc125c03784c4a77ab9d0497a2168f5375e31608b247e3b5ccf67d6d + +2024/09/05 22:08:22 send UMP message success, tx hash: 0xb29b244f0de3dc8e34cff6174bcd29dfe78785abfe0dd24d2c4beff404dbdc09 +ubuntu@ip-172-31-22-192:~/xcm-tools/cmd$ # DMP ubuntu@ip-172-31-22-192:~/xcm-tools/cmd$ go run . send DMP --dest 0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d --amount 10 --keyring 0xe5be9a5092b81bca64be81d212e7f2f9eba183bb7a90954f7b76361f6edb5c0a --endpoint wss://rococo-rpc.polkadot.io --paraId 1000 -2024/09/04 21:12:29 send HRMP message success, tx hash: 0xf6771dd80a50024416546ecafa1cc81c4b567216db183aa57f487d03f5a40e65 +2024/09/05 22:08:33 send DMP message success, tx hash: 0x374db4e34f2ce1f3fe6545e78b76827356f7d99951f7bace31a86160a9214671 +ubuntu@ip-172-31-22-192:~/xcm-tools/cmd$ # HRMP ubuntu@ip-172-31-22-192:~/xcm-tools/cmd$ go run . send HRMP --dest 0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d --amount 10 --keyring 0xe5be9a5092b81bca64be81d212e7f2f9eba183bb7a90954f7b76361f6edb5c0a --endpoint wss://rococo-asset-hub-rpc.polkadot.io --paraId 2087 -2024/09/04 21:13:00 send HRMP message success, tx hash: 0xe9ad33318b4f84a325ea0fca1e8953738b082dc5c8cb91f63378ea86e14f2f48 +2024/09/05 22:08:45 send HRMP message success, tx hash: 0xfa8a598eb99a339132d83d61b545c74e68df08d986593da5abb6fd4fc6c8a14c +ubuntu@ip-172-31-22-192:~/xcm-tools/cmd$ # Send bridge message(polkadot to ethereum) ubuntu@ip-172-31-22-192:~/xcm-tools/cmd$ go run . send EthBridge --dest 0x6EB228b7ab726b8B44892e8e273ACF3dcC9C0492 --amount 10 --keyring 0xc0417c253312107d808921fb1dd3b740b64e99794dca74bcc550179f7c42a255 --endpoint wss://rococo-asset-hub-rpc.polkadot.io --contract 0xfff9976782d46cc05630d1f6ebab18b2324d6b14 --chainId 11155111 -2024/09/04 21:13:15 send HRMP message success, tx hash: 0x75074a7f7f085ce0fe1c838b8a68334cd28a45fbccaa8b8cf04d8c781e908f15 +2024/09/05 22:08:56 send EthBridge message success, tx hash: 0x5d02ea5a6dd897675133028f9927d723016ee871e80fdca8e3f15efb0a14b322 +ubuntu@ip-172-31-22-192:~/xcm-tools/cmd$ # Send S2S message(polkadot to kusama) ubuntu@ip-172-31-22-192:~/xcm-tools/cmd$ go run . send S2SBridge --paraId 1000 --destChain westend --dest 0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d --amount 10 --keyring 0xc0417c253312107d808921fb1dd3b740b64e99794dca74bcc550179f7c42a255 --endpoint wss://rococo-asset-hub-rpc.polkadot.io - -2024/09/04 21:13:35 send HRMP message success, tx hash: 0xba7067912e3a6a23afb2f550d1dc971fab5a1bbbc8bcc10076379f699243087a +2024/09/05 22:09:07 send S2SBridge message success, tx hash: 0x4df506aa3f85208855fceb910e83758b6e62d450457c96b703d1d245bc95ef8d ``` Help screen works: From 7eeac6786e4f2489a9b4d809c7af0fd6c13e7d94 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Thu, 5 Sep 2024 18:18:12 -0400 Subject: [PATCH 53/69] Update xcm-tools-follow-up_2_keeganquigley.md --- evaluations/xcm-tools-follow-up_2_keeganquigley.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/evaluations/xcm-tools-follow-up_2_keeganquigley.md b/evaluations/xcm-tools-follow-up_2_keeganquigley.md index b07072dbc..7955ff0a1 100644 --- a/evaluations/xcm-tools-follow-up_2_keeganquigley.md +++ b/evaluations/xcm-tools-follow-up_2_keeganquigley.md @@ -17,7 +17,7 @@ # General Notes -Thanks for the nice work as usual. +Thanks for the nice work as usual. Everything works as expected and the CLI tool is easy to use. ~~The CLI commands all work and I am able to run the examples, but the success message isn't matching the send type in some instances.~~ From 53234f8a4a298d359fbaf59c214312dd5bc051ee Mon Sep 17 00:00:00 2001 From: ditavia-br <104472081+ditavia-br@users.noreply.github.com> Date: Sun, 8 Sep 2024 10:05:28 -0300 Subject: [PATCH 54/69] Update cyborgnetwork_1_ditavia-br.md --- evaluations/cyborgnetwork_1_ditavia-br.md | 75 ++++++++++++++++++++--- 1 file changed, 66 insertions(+), 9 deletions(-) diff --git a/evaluations/cyborgnetwork_1_ditavia-br.md b/evaluations/cyborgnetwork_1_ditavia-br.md index 375c17ce3..cb02fec22 100644 --- a/evaluations/cyborgnetwork_1_ditavia-br.md +++ b/evaluations/cyborgnetwork_1_ditavia-br.md @@ -1,6 +1,6 @@ # Evaluation -- **Status:** In Progress +- **Status:** Accepted - **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/Cyborg.md - **Milestone:** 1 - **Kusama Identity:** Address @@ -9,15 +9,73 @@ | Number | Deliverable | Accepted | Link | Evaluation Notes | | ------ | ----------- | -------- | ---- |----------------- | | **0a.** | License |
  • [x]
| [License](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/LICENSE) | | -| **0b.** | Documentation |
  • [ ]
| [Documentation](https://docs.google.com/document/d/1p5JJ1K6iTV20h4qU1s38e-lRKMvXN6j2MsjITLswqEQ/edit#heading=h.mm3nklvp0xtd) | The system is complex, and we couldn't put the system to work reading the testing guide. | -| **0c.** | Testing and Testing Guide |
  • [ ]
| [Testing and Testing Guide](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/INSTRUCTIONS.md) | We couldn't set up the system to test. | -| **0d.** | Docker |
  • [x]
| [Docker](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6) | The instructions to use the Docker image would be appreciated if added, but it has instructions to run using the Zumbienet. It is a complex system to set up using Docker. | +| **0b.** | Documentation |
  • [x]
| [Documentation](https://docs.google.com/document/d/1p5JJ1K6iTV20h4qU1s38e-lRKMvXN6j2MsjITLswqEQ/edit#heading=h.mm3nklvp0xtd) | Needs minor changes. | +| **0c.** | Testing and Testing Guide |
  • [x]
| [Testing and Testing Guide](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/INSTRUCTIONS.md) | | +| **0d.** | Docker |
  • [x]
| [Docker](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6) | | | 1. | Working Demo |
  • [x]
| [Working Demo](https://drive.google.com/file/d/1cBpTbd4xRPdUz4_RgGIU7axy9Cb4MjD2/view?usp=sharing) | | -| 2. | Task Examples |
  • [ ]
| [Task Examples](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/README.md#task-examples) | Not fully evaluated yet. | +| 2. | Task Examples |
  • [x]
| [Task Examples](https://github.com/Cyborg-Network/cyborg-parachain/blob/master/README.md#task-examples) | | | 3. | Substrate Module: Verification |
  • [x]
| [Substrate Module: Verification](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6/pallets/task-management) | | -| 4. | Substrate Module: Edge Connect |
  • [ ]
| [Substrate Module: Edge Connect](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6/pallets/edge-connect) | We couldn't use this pallet on the chains | -| 5. | Worker K3S Operator |
  • [ ]
| [Worker K3S Operator](https://github.com/Cyborg-Network/Worker) | Can this be tested without the front end? | -| 6. | Worker logs |
  • [ ]
| | Not fully evaluated yet. | +| 4. | Substrate Module: Edge Connect |
  • [x]
| [Substrate Module: Edge Connect](https://github.com/Cyborg-Network/cyborg-parachain/tree/9685a55711b2e1ec63fdbc6603965e7b3784f8d6/pallets/edge-connect) | | +| 5. | Worker K3S Operator |
  • [x]
| [Worker K3S Operator](https://github.com/Cyborg-Network/Worker) | | +| 6. | Worker logs |
  • [x]
| | | + +## Evaluation V4 + +### Testing + +We tested the hosted version. We needed to enable Insecure content on the browser to work. + + +![unnamed(1)](https://github.com/user-attachments/assets/25a55f91-f6cf-4e27-b635-27de2f31b23d) + + +![unnamed(2)](https://github.com/user-attachments/assets/cddc9067-4d58-43fb-8043-993a73e823c5) + + +We registered the worker without a problem, but we weren't able to assign the task to the worker because the system was assigning it to another one. However, we viewed the worker was connected with the system because it generated some logs. + +![unnamed(3)](https://github.com/user-attachments/assets/4354aac9-52af-49e8-bd7d-bbf823e5ccba) + + +![unnamed(4)](https://github.com/user-attachments/assets/1e261bfb-bbab-4281-9eba-bb7d41983fa5) + + +We also tried to test hosting all on the same network. We didn't have a Mac to use the UTM to create virtual machines. Instead, we used Azure to host three machines. + +- Parachain and Frontend. +- K3s Master node. +- K3s Worker node. + +We were able to use it like on the hosted version. + +Hello-world example: + +![unnamed(5)](https://github.com/user-attachments/assets/f93fe41a-77b6-45c3-92b2-43fcacf28fdd) + + +![unnamed(6)](https://github.com/user-attachments/assets/d48e1528-c997-4811-b5a7-24e318e36cc9) + + +Sum example: + +![unnamed(7)](https://github.com/user-attachments/assets/a95802ca-7f85-42ed-b2d0-18e66fa992fd) + + +![unnamed(8)](https://github.com/user-attachments/assets/33202c30-087e-4d8a-8580-058ab8555c83) + + + +### Documentation + +The documentation needs minor changes. We don't think it is necessary to hold the project because of that. + +- Some instructions on the [INSTRUCTIONS.md](https://github.com/Cyborg-Network/cyborg-parachain/blob/6ba9720eb4f4d8c187282be53abdc077512a8a95/INSTRUCTIONS.md) have the command to change the branch to `updated-parachain` the master branch is more updated now and it works fine. + +- On "Option C: Fully Local Setup with UTM and Local Parachain" change the instructions to start the Master Node to the pm2 commands. We checked it, and it didn't work if you use the `MasterSetup.sh` + +- Add the image Docker image URL to the [worker-logs example](https://github.com/Cyborg-Network/cyborg-parachain/blob/6ba9720eb4f4d8c187282be53abdc077512a8a95/INSTRUCTIONS.md#worker-logs). + +- On the [instructions to install the Cyborg-connect](https://github.com/Cyborg-Network/cyborg-connect/tree/f5d5c3430f828f91dcdb118cd6f3cc4c819c05d2?tab=readme-ov-file#installation) is missing the "clone" on the git clone command. ## Evaluation V3 @@ -69,7 +127,6 @@ Master-node Log: ``` stdout: deployment.apps/dynamic-deployment-0em6ht created service/dynamic-deployment-0em6ht-service created - stderr: ``` From 6beca8a9041ffbdba4c61ba550a083bdff9d8052 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Mon, 9 Sep 2024 16:47:21 -0400 Subject: [PATCH 55/69] Create subxtpy.md --- evaluations/subxtpy.md | 47 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 evaluations/subxtpy.md diff --git a/evaluations/subxtpy.md b/evaluations/subxtpy.md new file mode 100644 index 000000000..efccd9d5d --- /dev/null +++ b/evaluations/subxtpy.md @@ -0,0 +1,47 @@ +# Evaluation + +- **Status:** Accepted +- **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/Subcoin.md +- **Milestone:** 1 + +**Deliverables** + +| Number | Deliverable | Accepted | Link | Notes +| -----: |---------------------------|---------------------------|--------------------------------------------------------------------------------|---------------------------| +| **0a.** | License |
  • [x]
| [Apache 2.0](https://github.com/philoniare/subxtpy/blob/main/LICENSE.md) | +| **0b.** | Documentation |
  • [x]
| [Readme](https://github.com/philoniare/subxtpy/blob/main/README.md) | Nice docs! +| **0c.** | Testing and Testing Guide |
  • [x]
| [Tests folder](https://github.com/philoniare/subxtpy/tree/main/tests) | Tests all passing +| 0e. | Article |
  • [x]
| [Article](https://www.philoniare.com/blog/subxtpy) | Ok +| 1. | Project Setup |
  • [x]
| [README](https://github.com/philoniare/subxtpy/blob/main/README.md) | Ok +| 2. | PyO3 Bindings |
  • [x]
| [Source code](https://github.com/philoniare/subxtpy/blob/main/src/lib.rs) | Ok +| 3. | Client Functionality |
  • [x]
| [Source code](https://github.com/philoniare/subxtpy/blob/main/src/lib.rs) | Ok +| 4. | Storage API |
  • [x]
| [Source code](https://github.com/philoniare/subxtpy/blob/main/src/lib.rs#L143) | Ok +| 5. | Extrinsics API |
  • [x]
| [Source code](https://github.com/philoniare/subxtpy/blob/main/src/lib.rs#L292) | Ok +| 6. | Error Handling |
  • [x]
| [Source code](https://github.com/philoniare/subxtpy/blob/main/src/lib.rs) | Ok + +# General Notes + +Grantee resolved all issues, and the tool runs successfully when a local node is running. + +## Tests + +Unit tests all passing: + +```python +================================================================== test session starts ================================================================== +platform linux -- Python 3.8.10, pytest-8.3.2, pluggy-1.5.0 +rootdir: /home/ubuntu/subxtpy +configfile: pyproject.toml +plugins: asyncio-0.24.0 +asyncio: mode=strict, default_loop_scope=None +collected 7 items + +tests/test_constants_dynamic.py . [ 14%] +tests/test_events.py . [ 28%] +tests/test_runtime_api_call.py . [ 42%] +tests/test_storage_fetch_dynamic.py .. [ 71%] +tests/test_storage_iterating_dynamic.py . [ 85%] +tests/test_tx_basic.py . [100%] + +=================================================================== 7 passed in 0.14s =================================================================== +``` From 33bbd9cf08b8e9b478ba356a74c2a83e331a1220 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Mon, 9 Sep 2024 16:49:15 -0400 Subject: [PATCH 56/69] Update subxtpy.md --- evaluations/subxtpy.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/evaluations/subxtpy.md b/evaluations/subxtpy.md index efccd9d5d..1b3feceff 100644 --- a/evaluations/subxtpy.md +++ b/evaluations/subxtpy.md @@ -1,7 +1,7 @@ # Evaluation - **Status:** Accepted -- **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/Subcoin.md +- **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/subxt-python.md - **Milestone:** 1 **Deliverables** @@ -21,7 +21,7 @@ # General Notes -Grantee resolved all issues, and the tool runs successfully when a local node is running. +Grantee resolved all issues, and the tool runs successfully when a local node is running. I was also able to complete all examples in the guide, and everything worked manually as well. Nice work! ## Tests From 4e7c9c9761cf9fea4a0c91dea9d14bd48886a782 Mon Sep 17 00:00:00 2001 From: Piet <75956460+PieWol@users.noreply.github.com> Date: Fri, 13 Sep 2024 12:15:25 +0200 Subject: [PATCH 57/69] Subcoin 3 eval (#1211) --- evaluations/subcoin_3_piewol.md | 222 ++++++++++++++++++++++++++++++++ 1 file changed, 222 insertions(+) create mode 100644 evaluations/subcoin_3_piewol.md diff --git a/evaluations/subcoin_3_piewol.md b/evaluations/subcoin_3_piewol.md new file mode 100644 index 000000000..0d629db57 --- /dev/null +++ b/evaluations/subcoin_3_piewol.md @@ -0,0 +1,222 @@ +# Evaluation + +- **Status:** accepted +- **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/Subcoin.md +- **Milestone:** 3 + +| Number | Deliverable | Accepted | Link | Notes | +| -- | -- | --- | --- | --- | +| 0a. | License |
  • [x]
| https://github.com/subcoin-project/subcoin/blob/subcoin-milestone-3/LICENSE | MIT | +| 0b. | Documentation |
  • [x]
| Each module has its own docs. The rendered inline rustdoc is deployed at https://subcoin-project.github.io/subcoin/. | nice | +| 0c. | Testing and Testing Guide |
  • [x]
| https://github.com/subcoin-project/subcoin/tree/subcoin-milestone-3?tab=readme-ov-file#run-tests | all passing | +| 0d. | Docker |
  • [x]
| https://github.com/subcoin-project/subcoin/blob/subcoin-milestone-3/Dockerfile The docker image is available at https://github.com/subcoin-project/subcoin/pkgs/container/subcoin/263310548?tag=v0.3.0 | builds and runs | +| 1. | Article |
  • [x]
| https://liuchengxu.notion.site/Subcoin-A-Step-Toward-Decentralized-Fast-Sync-for-Bitcoin-68762427a4484d73906a91602d789be9 | well written, thanks! | +| 2. | Fast Sync |
  • [x]
| https://github.com/subcoin-project/subcoin/blob/subcoin-milestone-3/docs/src/test_fast_sync.md | works exactly as described in the guide. nice. | +| 3. | Bitcoin Transaction Broadcasting |
  • [x]
| https://github.com/subcoin-project/subcoin/blob/subcoin-milestone-3/docs/src/test_bitcoin_transaction_broadcasting.md | ok | + +# General Notes + With the feedback from the last milestone it was easy to evaluate this one. Guide and article are well written. + +## Documentation + +Good documentation as in the previous milestone. + +In https://subcoin-project.github.io/subcoin/subcoin_runtime/index.html are still some items undocumented. It would be great if that could be extended slightly. + +## Tests + +All tests are passing. + +
+ + cargo test --workspace --all + + Compiling subcoin-node v0.1.0 (/home/ubuntu/subcoin/crates/subcoin-node) + Finished `test` profile [unoptimized + debuginfo] target(s) in 12.69s + Running unittests src/lib.rs (target/debug/deps/pallet_bitcoin-1ca1506fd8cd4465) + + running 1 test + test tests::test_runtime_txid_type ... ok + + test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/pallet_executive-adb5e7d285e3be20) + + + running 2 tests + test verification::header_verify::tests::test_calculate_next_work_required ... ok + test verification::tests::test_find_utxo_in_current_block ... ok + + test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s + + Running unittests src/lib.rs (target/debug/deps/sc_fast_sync_backend-d17e25075740f59b) + + running 2 tests + test tests::append_and_retrieve_justifications ... ok + test tests::store_duplicate_justifications_is_forbidden ... ok + + test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s + + Running unittests src/lib.rs (target/debug/deps/subcoin_informant-dc64abc34ae0787b) + + running 1 test + test display::test_display_block_hash ... ok + + test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/subcoin_network-eb9dbe0d175e2251) + + running 7 tests + test checkpoint::tests::test_next_checkpoint ... ok + test orphan_blocks_pool::tests::orphan_block_pool_insert_orphan_block ... ok + test orphan_blocks_pool::tests::orphan_block_pool_insert_unknown_block ... ok + test orphan_blocks_pool::tests::orphan_block_pool_remove_blocks_for_parent ... ok + test orphan_blocks_pool::tests::orphan_block_pool_remove_known_blocks ... ok + test orphan_blocks_pool::tests::orphan_block_pool_remove_blocks ... ok + test block_downloader::blocks_first::tests::duplicate_block_announcement_should_not_be_downloaded_again ... ok + + test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.89s + + Running unittests src/lib.rs (target/debug/deps/subcoin_node-b459dd99b58a6132) + + running 2 tests + test tests::rocksdb_disabled_in_substrate ... ok + test commands::tools::tests::test_revert_sha256d ... ok + + test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/bin/subcoin.rs (target/debug/deps/subcoin-e1b07d62ac9fddec) + + running 1 test + test blockchain::tests::test_block_hash_serde ... ok + + test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/subcoin_runtime-2379d27afbe589f3) + + running 2 tests + test __construct_runtime_integrity_test::runtime_integrity_tests ... ok + test test_genesis_config_builds ... ok + + test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s + + Running unittests src/lib.rs (target/debug/deps/subcoin_runtime_primitives-53afd9758b6530b0) + + + running 2 tests + test block_executor::tests::inspect_substrate_header_size ... ignored + test block_executor::tests::off_runtime_in_memory_executor_should_produce_same_result_as_runtime_disk_executor ... ok + + test result: ok. 1 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 21.46s + + Running unittests src/lib.rs (target/debug/deps/subcoin_test_service-6f82fe824c6b894c) + + +
+ +## Fast sync + +
+ + 2024-09-11 08:58:16.803 INFO main sc_rpc_server: Running JSON-RPC server: addr=127.0.0.1:38005, allowed origins=["http://localhost:*", "http://127.0.0.1:*", "https://localhost:*", "https://127.0.0.1:*", "https://polkadot.js.org"] + 2024-09-11 08:58:16.803 INFO tokio-runtime-worker subcoin_network: Subcoin block sync is disabled until Substrate fast sync is complete + 2024-09-11 08:58:16.803 INFO tokio-runtime-worker subcoin_network: 🔊 Listening on 127.0.0.1:8333 + 2024-09-11 08:58:16.805 INFO tokio-runtime-worker libp2p_mdns::behaviour: discovered: 12D3KooWSGDsbNRjwzsakY93L4sg6YiQrEg7geNTpXRaqfaUkLyP /ip4/172.31.21.95/tcp/30333/ws + 2024-09-11 08:58:16.806 INFO tokio-runtime-worker libp2p_mdns::behaviour: discovered: 12D3KooWSGDsbNRjwzsakY93L4sg6YiQrEg7geNTpXRaqfaUkLyP /ip4/172.17.0.1/tcp/30333/ws + 2024-09-11 08:58:17.246 DEBUG tokio-runtime-worker subcoin_network::connection: New connection peer_addr=142.132.135.164:8333 local_addr=172.31.21.95:37440 direction=Outbound connect_latency=6 + 2024-09-11 08:58:17.250 DEBUG tokio-runtime-worker subcoin_network::connection: New connection peer_addr=51.77.152.20:8333 local_addr=172.31.21.95:58968 direction=Outbound connect_latency=10 + 2024-09-11 08:58:17.251 DEBUG tokio-runtime-worker subcoin_network::connection: New connection peer_addr=84.146.196.78:8333 local_addr=172.31.21.95:44932 direction=Outbound connect_latency=12 + 2024-09-11 08:58:17.254 DEBUG tokio-runtime-worker subcoin_network::connection: New connection peer_addr=2.233.91.176:8333 local_addr=172.31.21.95:34500 direction=Outbound connect_latency=14 + 2024-09-11 08:58:17.256 DEBUG tokio-runtime-worker subcoin_network::peer_manager: Received version from 142.132.135.164:8333 version=70016 user_agent="/Satoshi:26.0.0/" start_height=860856 + 2024-09-11 08:58:17.256 DEBUG tokio-runtime-worker subcoin_network::peer_manager: 🤝 Completed handshake peer=142.132.135.164:8333 direction=Outbound + 2024-09-11 08:58:17.266 DEBUG tokio-runtime-worker subcoin_network::connection: New connection peer_addr=193.86.97.61:8333 local_addr=172.31.21.95:35286 direction=Outbound connect_latency=27 + 2024-09-11 08:58:17.266 DEBUG tokio-runtime-worker subcoin_network::peer_manager: Received version from 84.146.196.78:8333 version=70016 user_agent="/Satoshi:27.1.0/" start_height=860856 + 2024-09-11 08:58:17.266 DEBUG tokio-runtime-worker subcoin_network::peer_manager: 🤝 Completed handshake peer=84.146.196.78:8333 direction=Outbound + 2024-09-11 08:58:17.268 DEBUG tokio-runtime-worker subcoin_network::peer_manager: Received version from 51.77.152.20:8333 version=70015 user_agent="/Satoshi:0.18.1/" start_height=860856 + 2024-09-11 08:58:17.268 DEBUG tokio-runtime-worker subcoin_network::peer_manager: 🤝 Completed handshake peer=51.77.152.20:8333 direction=Outbound + 2024-09-11 08:58:17.280 DEBUG tokio-runtime-worker subcoin_network::peer_manager: Added 628 addresses from 142.132.135.164:8333 + 2024-09-11 08:58:17.292 DEBUG tokio-runtime-worker subcoin_network::peer_manager: Received version from 193.86.97.61:8333 version=70016 user_agent="/Satoshi:26.0.0/" start_height=860856 + 2024-09-11 08:58:17.293 DEBUG tokio-runtime-worker subcoin_network::peer_manager: 🤝 Completed handshake peer=193.86.97.61:8333 direction=Outbound + 2024-09-11 08:58:17.315 DEBUG tokio-runtime-worker subcoin_network::connection: New connection peer_addr=84.71.214.189:8333 local_addr=172.31.21.95:40778 direction=Outbound connect_latency=75 + 2024-09-11 08:58:17.333 DEBUG tokio-runtime-worker subcoin_network::connection: New connection peer_addr=203.11.72.76:8333 local_addr=172.31.21.95:42796 direction=Outbound connect_latency=93 + 2024-09-11 08:58:17.335 DEBUG tokio-runtime-worker subcoin_network::peer_manager: Added 640 addresses from 84.146.196.78:8333 + 2024-09-11 08:58:17.374 DEBUG tokio-runtime-worker subcoin_network::peer_manager: Added 494 addresses from 193.86.97.61:8333 + 2024-09-11 08:58:17.399 DEBUG tokio-runtime-worker subcoin_network::peer_manager: Received version from 84.71.214.189:8333 version=70016 user_agent="/Satoshi:25.0.0/" start_height=860856 + 2024-09-11 08:58:17.399 DEBUG tokio-runtime-worker subcoin_network::peer_manager: 🤝 Completed handshake peer=84.71.214.189:8333 direction=Outbound + 2024-09-11 08:58:17.425 DEBUG tokio-runtime-worker subcoin_network::connection: New connection peer_addr=34.101.229.34:8333 local_addr=172.31.21.95:44024 direction=Outbound connect_latency=185 + 2024-09-11 08:58:17.484 DEBUG tokio-runtime-worker subcoin_network::peer_manager: Added 268 addresses from 84.71.214.189:8333 + 2024-09-11 08:58:17.601 DEBUG tokio-runtime-worker subcoin_network::peer_manager: 💔 Disconnecting peer reason=PeerShutdown peer_id=84.146.196.78:8333 + 2024-09-11 08:58:17.745 DEBUG tokio-runtime-worker sync: Substream opened for 12D3KooWSGDsbNRjwzsakY93L4sg6YiQrEg7geNTpXRaqfaUkLyP, handshake [1, 190, 65, 0, 0, 191, 75, 204, 200, 174, 84, 26, 223, 124, 81, 208, 205, 235, 181, 158, 217, 148, 124, 157, 80, 101, 126, 93, 162, 148, 113, 166, 51, 209, 120, 136, 201, 195, 236, 93, 130, 40, 167, 5, 49, 98, 170, 146, 255, 34, 235, 117, 124, 231, 48, 171, 21, 142, 103, 79, 251, 249, 131, 196, 122, 165, 232, 82, 204] + 2024-09-11 08:58:17.745 DEBUG tokio-runtime-worker sync: New peer 12D3KooWSGDsbNRjwzsakY93L4sg6YiQrEg7geNTpXRaqfaUkLyP with best hash 0xbf4b…88c9 (16830). + 2024-09-11 08:58:17.745 DEBUG tokio-runtime-worker sync: Connected 12D3KooWSGDsbNRjwzsakY93L4sg6YiQrEg7geNTpXRaqfaUkLyP + 2024-09-11 08:58:18.672 INFO tokio-runtime-worker subcoin_service::finalizer: ✅ Successfully finalized block #7400,0x46d2…7a53 + 2024-09-11 08:58:18.782 DEBUG tokio-runtime-worker subcoin_network::peer_manager: Received version from 34.101.229.34:8333 version=70015 user_agent="/Satoshi:0.20.1/" start_height=860856 + 2024-09-11 08:58:18.782 DEBUG tokio-runtime-worker subcoin_network::peer_manager: 🤝 Completed handshake peer=34.101.229.34:8333 direction=Outbound + 2024-09-11 08:58:18.843 INFO tokio-runtime-worker subcoin_service::finalizer: ✅ Successfully finalized block #16824,0xaad8…a292 + 2024-09-11 08:58:18.844 DEBUG tokio-runtime-worker sync: Starting state sync for #16824 (0xaad8…a292) + 2024-09-11 08:58:18.889 DEBUG tokio-runtime-worker subcoin_network::peer_manager: Received version from 203.11.72.76:8333 version=70016 user_agent="/Satoshi:27.1.0/" start_height=860856 + 2024-09-11 08:58:18.889 DEBUG tokio-runtime-worker subcoin_network::peer_manager: 🤝 Completed handshake peer=203.11.72.76:8333 direction=Outbound + 2024-09-11 08:58:18.943 DEBUG tokio-runtime-worker sync: Importing state data from 12D3KooWSGDsbNRjwzsakY93L4sg6YiQrEg7geNTpXRaqfaUkLyP with 1 keys, 0 proof nodes. + 2024-09-11 08:58:18.943 DEBUG tokio-runtime-worker sync: Importing state from Some(be89f1f86dcd96a26d6c3308a396e3812149f4e1bd7e9f4e1c267e017c117d87c362f1c9298d79cd3f7663dd3e6fb490d261c73b6a461e6ec802948d70c0b4cb00000000) to Some(26aa394eea5630e07c48ae0c9558cef702a5c1b19ab7a04f536c519aca4983ac) + 2024-09-11 08:58:18.976 DEBUG tokio-runtime-worker sync: Importing state data from 12D3KooWSGDsbNRjwzsakY93L4sg6YiQrEg7geNTpXRaqfaUkLyP with 1 keys, 0 proof nodes. + 2024-09-11 08:58:18.976 DEBUG tokio-runtime-worker sync: Importing state from Some(be89f1f86dcd96a26d6c3308a396e3814e7b9012096b41c4eb3aaf947f6ea429) to Some(be89f1f86dcd96a26d6c3308a396e3812149f4e1bd7e9f4e1c267e017c117d87c3635ca87d17d3162430ead8c6dc10c48752c2f3d9d099086ce7312547467be700000000) + 2024-09-11 08:58:18.976 DEBUG tokio-runtime-worker sync: State download is complete. Import is queued + 2024-09-11 08:58:19.140 INFO tokio-runtime-worker sync: State sync is complete (1 MiB), restarting block sync. + 2024-09-11 08:58:19.140 DEBUG tokio-runtime-worker sync: Starting from finalized state #16824 + 2024-09-11 08:58:19.140 DEBUG tokio-runtime-worker sync: Restarted with 16824 (0xaad8…a292) + 2024-09-11 08:58:19.140 DEBUG tokio-runtime-worker sync: New peer 12D3KooWSGDsbNRjwzsakY93L4sg6YiQrEg7geNTpXRaqfaUkLyP with known best hash 0xbf4b…88c9 (16830). + +
+ +## Docker + +The node starts and immediately imports blocks. + +
+ +```` +2024-09-11 08:21:46 Subcoin Node +2024-09-11 08:21:46 ✌️ version 0.1.0-9aa98a2348b +2024-09-11 08:21:46 ❤️ by xuliuchengxlc@gmail.com, 2024-2024 +2024-09-11 08:21:46 📋 Chain specification: Bitcoin +2024-09-11 08:21:46 🏷 Node name: merciful-island-3877 +2024-09-11 08:21:46 👤 Role: FULL +2024-09-11 08:21:46 💾 Database: ParityDb at /root/.local/share/subcoin/chains/mainnet/paritydb/full +2024-09-11 08:21:46 🔨 Initializing Genesis block/state (state: 0x5200…eebb, header-hash: 0xc3ec…52cc) +2024-09-11 08:21:49 🏁 CPU score: 781.38 MiBs +2024-09-11 08:21:49 🏁 Memory score: 9.03 GiBs +2024-09-11 08:21:49 🏁 Disk score (seq. writes): 191.41 MiBs +2024-09-11 08:21:49 🏁 Disk score (rand. writes): 69.87 MiBs +2024-09-11 08:21:49 📦 Highest known block at #0 +2024-09-11 08:21:49 🏷 Local node identity is: 12D3KooWBDyKYMn53mJsqMvCxbzqhnzCgVFM4RXJFq3C6b59w52k +2024-09-11 08:21:49 Running libp2p network backend +2024-09-11 08:21:49 💻 Operating system: linux +2024-09-11 08:21:49 💻 CPU architecture: x86_64 +2024-09-11 08:21:49 💻 Target environment: gnu +2024-09-11 08:21:49 💻 CPU: Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz +2024-09-11 08:21:49 💻 CPU cores: 8 +2024-09-11 08:21:49 💻 Memory: 32094MB +2024-09-11 08:21:49 💻 Kernel: 6.8.0-1012-aws +2024-09-11 08:21:49 💻 Linux distribution: Ubuntu 22.04.4 LTS +2024-09-11 08:21:49 💻 Virtual machine: yes +2024-09-11 08:21:49 〽️ Prometheus exporter started at 127.0.0.1:9615 +2024-09-11 08:21:49 Running JSON-RPC server: addr=127.0.0.1:9944, allowed origins=["http://localhost:*", "http://127.0.0.1:*", "https://localhost:*", "https://127.0.0.1:*", "https://polkadot.js.org"] +2024-09-11 08:21:49 🔊 Listening on 127.0.0.1:8333 +2024-09-11 08:21:53 🏆 Imported #1 (0xc3ec…52cc → 0xf209…0809) +2024-09-11 08:21:53 🏆 Imported #2 (0xf209…0809 → 0xa06c…2604) +2024-09-11 08:21:53 🏆 Imported #3 (0xa06c…2604 → 0x412a…00a6) +2024-09-11 08:21:53 🏆 Imported #4 (0x412a…00a6 → 0xd951…9eda) +2024-09-11 08:21:53 🏆 Imported #5 (0xd951…9eda → 0x2212…c9c6) +2024-09-11 08:21:53 🏆 Imported #6 (0x2212…c9c6 → 0x2687…838b) +2024-09-11 08:21:53 🏆 Imported #7 (0x2687…838b → 0x5eb9…6fad) +2024-09-11 08:21:53 🏆 Imported #8 (0x5eb9…6fad → 0x5c57…dfff) +2024-09-11 08:21:53 🏆 Imported #9 (0x5c57…dfff → 0xbea5…d100) +2024-09-11 08:21:53 🏆 Imported #10 (0xbea5…d100 → 0x738f…19d6) +```` + +
+ + + + + From 3e9c6dbd0a9f6686b8085fc1557063d76478a9ce Mon Sep 17 00:00:00 2001 From: Liu-Cheng Xu Date: Fri, 13 Sep 2024 18:20:29 +0800 Subject: [PATCH 58/69] Add subcoin-milestone-3 (#1207) --- deliveries/subcoin-milestone-3.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 deliveries/subcoin-milestone-3.md diff --git a/deliveries/subcoin-milestone-3.md b/deliveries/subcoin-milestone-3.md new file mode 100644 index 000000000..c4998c48c --- /dev/null +++ b/deliveries/subcoin-milestone-3.md @@ -0,0 +1,22 @@ +# Milestone Delivery :mailbox: + +**The delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).** + +* **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/Subcoin.md +* **Milestone Number:** 3 + +**Deliverables** + +| Number | Deliverable | Link | Notes | +| --- | --- | --- | --- | +| 0a. | License | https://github.com/subcoin-project/subcoin/blob/subcoin-milestone-3/LICENSE | | +| 0b. | Documentation | Each module has its own docs. The rendered inline rustdoc is deployed at https://subcoin-project.github.io/subcoin/. | | +| 0c. | Testing and Testing Guide | Install rust on your system and use this command to run tests: https://github.com/subcoin-project/subcoin/tree/subcoin-milestone-3?tab=readme-ov-file#run-tests | | +| 0d. | Docker | https://github.com/subcoin-project/subcoin/blob/subcoin-milestone-3/Dockerfile The docker image is available at https://github.com/subcoin-project/subcoin/pkgs/container/subcoin/263310548?tag=v0.3.0 | | +| 1. | Article | https://liuchengxu.notion.site/Subcoin-A-Step-Toward-Decentralized-Fast-Sync-for-Bitcoin-68762427a4484d73906a91602d789be9 | | +| 2. | Fast Sync | https://github.com/subcoin-project/subcoin/blob/subcoin-milestone-3/docs/src/test_fast_sync.md | +| 2. | Bitcoin Transaction Broadcasting | RPC `subcoin_sendRawTransaction` is added, please refer to https://github.com/subcoin-project/subcoin/blob/subcoin-milestone-3/docs/src/test_bitcoin_transaction_broadcasting.md for the complete guide of `subcoin_sendRawTransaction` testing. | | + +**Additional Information** + +- The article may be published on other platforms, such as Medium, after it has been proofread. From df7e33c2a57878d5a5dbb7186ca44e7d8e5953a8 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Fri, 13 Sep 2024 12:58:56 -0400 Subject: [PATCH 59/69] Create shivarthu_2_keeganquigley.md --- evaluations/shivarthu_2_keeganquigley.md | 89 ++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 evaluations/shivarthu_2_keeganquigley.md diff --git a/evaluations/shivarthu_2_keeganquigley.md b/evaluations/shivarthu_2_keeganquigley.md new file mode 100644 index 000000000..35fdf7d50 --- /dev/null +++ b/evaluations/shivarthu_2_keeganquigley.md @@ -0,0 +1,89 @@ +# General Notes + +Some unit tests currently failing: + +```rust +error[E0599]: no function or associated item named `do_something` found for struct `pallet::Pallet` in the current scope + --> custom-pallets/schelling-game-shared/src/tests.rs:32:30 + | +32 | assert_ok!(TemplateModule::do_something(RuntimeOrigin::signed(1), 42)); + | ^^^^^^^^^^^^ function or associated item not found in `Pallet` + | + ::: custom-pallets/schelling-game-shared/src/lib.rs:59:2 + | +59 | pub struct Pallet(_); + | -------------------- function or associated item `do_something` not found for this struct + | + = help: items from traits can only be used if the trait is implemented and in scope + = note: the following traits define an item `do_something`, perhaps you need to implement one of them: + candidate #1: `weights::WeightInfo` + candidate #2: `pallet_sortition_sum_game::WeightInfo` + +error[E0599]: no function or associated item named `something` found for struct `pallet::Pallet` in the current scope + --> custom-pallets/schelling-game-shared/src/tests.rs:34:30 + | +34 | assert_eq!(TemplateModule::something(), Some(42)); + | ^^^^^^^^^ function or associated item not found in `Pallet` + | + ::: custom-pallets/schelling-game-shared/src/lib.rs:59:2 + | +59 | pub struct Pallet(_); + | -------------------- function or associated item `something` not found for this struct + +error[E0599]: no function or associated item named `cause_error` found for struct `pallet::Pallet` in the current scope + --> custom-pallets/schelling-game-shared/src/tests.rs:45:20 + | +45 | TemplateModule::cause_error(RuntimeOrigin::signed(1)), + | ^^^^^^^^^^^ function or associated item not found in `Pallet` + | + ::: custom-pallets/schelling-game-shared/src/lib.rs:59:2 + | +59 | pub struct Pallet(_); + | -------------------- function or associated item `cause_error` not found for this struct + | + = help: items from traits can only be used if the trait is implemented and in scope + = note: the following traits define an item `cause_error`, perhaps you need to implement one of them: + candidate #1: `weights::WeightInfo` + candidate #2: `pallet_sortition_sum_game::WeightInfo` + +warning: unused variable: `game_type` + --> custom-pallets/schelling-game-shared/src/tests.rs:423:7 + | +423 | let game_type = return_game_type_profile_approval(); + | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_type` + | + = note: `#[warn(unused_variables)]` on by default + +warning: unused variable: `game_type` + --> custom-pallets/schelling-game-shared/src/tests.rs:703:7 + | +703 | let game_type = return_game_type_profile_approval(); + | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_type` + +warning: unused variable: `game_type` + --> custom-pallets/schelling-game-shared/src/tests.rs:844:7 + | +844 | let game_type = return_game_type_profile_approval(); + | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_type` + +For more information about this error, try `rustc --explain E0599`. +warning: `pallet-schelling-game-shared` (lib test) generated 5 warnings (2 duplicates) +error: could not compile `pallet-schelling-game-shared` (lib test) due to 3 previous errors; 5 warnings emitted +warning: build failed, waiting for other jobs to finish... +warning: unused variable: `startblock3` + --> custom-pallets/department-funding/src/tests.rs:462:7 + | +462 | let startblock3 = 3 * (6 * 30 * 24 * 60 * 60) / 6; + | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_startblock3` + | + = note: `#[warn(unused_variables)]` on by default + +warning: unused variable: `startblock4` + --> custom-pallets/department-funding/src/tests.rs:464:7 + | +464 | let startblock4 = 4 * (6 * 30 * 24 * 60 * 60) / 6; + | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_startblock4` + +warning: `pallet-department-funding` (lib test) generated 6 warnings (4 duplicates) +warning: `pallet-profile-validation` (lib test) generated 4 warnings (4 duplicates) +``` From 396289be004d032b9d2fb6259181053498285b5c Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Mon, 16 Sep 2024 11:08:43 -0400 Subject: [PATCH 60/69] Update shivarthu_2_keeganquigley.md --- evaluations/shivarthu_2_keeganquigley.md | 416 ++++++++++++++++++++++- 1 file changed, 415 insertions(+), 1 deletion(-) diff --git a/evaluations/shivarthu_2_keeganquigley.md b/evaluations/shivarthu_2_keeganquigley.md index 35fdf7d50..79160f45a 100644 --- a/evaluations/shivarthu_2_keeganquigley.md +++ b/evaluations/shivarthu_2_keeganquigley.md @@ -1,6 +1,419 @@ # General Notes -Some unit tests currently failing: +Unit tests now all successfully passing: + +
+ New Output + +```rust +warning: associated function `deposit_event` is never used + --> custom-pallets/sortition-sum-game/src/lib.rs:51:43 + | +51 | #[pallet::generate_deposit(pub(super) fn deposit_event)] + | ^^^^^^^^^^^^^ associated function in this implementation + | + = note: `#[warn(dead_code)]` on by default + +warning: `pallet-sortition-sum-game` (lib) generated 1 warning +warning: use of deprecated associated function `frame_support::pallet_prelude::StorageDoubleMap::::remove_prefix`: Use `clear_prefix` instead + --> custom-pallets/schelling-game-shared/src/extras.rs:521:21 + | +521 | >::remove_prefix(key.clone(), None); // Deprecated: Use clear_prefix instead + | ^^^^^^^^^^^^^ + | + = note: `#[warn(deprecated)]` on by default + +warning: use of deprecated associated function `frame_support::pallet_prelude::StorageDoubleMap::::remove_prefix`: Use `clear_prefix` instead + --> custom-pallets/schelling-game-shared/src/score_game.rs:154:26 + | +154 | >::remove_prefix(key.clone(), None); // Deprecated: Use clear_prefix instead + | ^^^^^^^^^^^^^ + +warning: associated function `deposit_event` is never used + --> custom-pallets/schelling-game-shared/src/lib.rs:187:43 + | +187 | #[pallet::generate_deposit(pub(super) fn deposit_event)] + | ^^^^^^^^^^^^^ associated function in this implementation + | + = note: `#[warn(dead_code)]` on by default + +warning: `pallet-schelling-game-shared` (lib) generated 3 warnings +warning: associated function `deposit_event` is never used + --> custom-pallets/shared-storage/src/lib.rs:83:43 + | +83 | #[pallet::generate_deposit(pub(super) fn deposit_event)] + | ^^^^^^^^^^^^^ associated function in this implementation + | + = note: `#[warn(dead_code)]` on by default + +warning: `pallet-shared-storage` (lib) generated 1 warning + Compiling librocksdb-sys v0.11.0+8.1.1 +warning: unused variable: `who` + --> custom-pallets/positive-externality/src/lib.rs:445:8 + | +445 | let who = ensure_signed(origin)?; + | ^^^ help: if this is intentional, prefix it with an underscore: `_who` + | + = note: `#[warn(unused_variables)]` on by default + +warning: associated function `get_drawn_jurors` is never used + --> custom-pallets/positive-externality/src/extras.rs:59:16 + | +29 | impl Pallet { + | ------------------------- associated function in this implementation +... +59 | pub(super) fn get_drawn_jurors(user_to_calculate: T::AccountId) -> Vec<(T::AccountId, u64)> { + | ^^^^^^^^^^^^^^^^ + | + = note: `#[warn(dead_code)]` on by default + +warning: associated function `deposit_event` is never used + --> custom-pallets/positive-externality/src/lib.rs:162:43 + | +162 | #[pallet::generate_deposit(pub(super) fn deposit_event)] + | ^^^^^^^^^^^^^ associated function in this implementation + +warning: constant `PALLET_ID` is never used + --> custom-pallets/profile-validation/src/lib.rs:67:7 + | +67 | const PALLET_ID: PalletId = PalletId(*b"ex/cfund"); + | ^^^^^^^^^ + | + = note: `#[warn(dead_code)]` on by default + +warning: `pallet-positive-externality` (lib) generated 3 warnings +warning: `pallet-profile-validation` (lib) generated 1 warning + Compiling node-template-runtime v0.0.0 (/home/ubuntu/shivarthu/runtime) +warning: associated function `deposit_event` is never used + --> custom-pallets/positive-externality/src/lib.rs:162:43 + | +162 | #[pallet::generate_deposit(pub(super) fn deposit_event)] + | ^^^^^^^^^^^^^ associated function in this implementation + | + = note: `#[warn(dead_code)]` on by default + +warning: `pallet-positive-externality` (lib test) generated 2 warnings (1 duplicate) +warning: `pallet-profile-validation` (lib test) generated 1 warning (1 duplicate) +warning: `pallet-schelling-game-shared` (lib test) generated 3 warnings (3 duplicates) +warning: `pallet-shared-storage` (lib test) generated 1 warning (1 duplicate) +warning: `pallet-sortition-sum-game` (lib test) generated 1 warning (1 duplicate) + Compiling rocksdb v0.21.0 + Compiling kvdb-rocksdb v0.19.0 + Compiling sc-client-db v0.35.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling sc-service v0.35.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling sc-cli v0.36.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling frame-benchmarking-cli v32.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling node-template v0.0.0 (/home/ubuntu/shivarthu/node) + Finished `test` profile [unoptimized + debuginfo] target(s) in 7m 39s + Running unittests src/lib.rs (target/debug/deps/department_funding_rpc-9a27e7ab2f9307be) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/department_funding_runtime_api-e0bcd957f69d1cc6) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/main.rs (target/debug/deps/node_template-ce7990016f3c2795) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/node_template_runtime-12815422c78fb6ec) + +running 2 tests +test test_genesis_config_builds ... ok +test __construct_runtime_integrity_test::runtime_integrity_tests ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s + + Running unittests src/lib.rs (target/debug/deps/pallet_department_funding-52d510957da2fa1b) + +running 8 tests +test mock::test_genesis_config_builds ... ok +test mock::__construct_runtime_integrity_test::runtime_integrity_tests ... ok +test tests::apply_staking_period_works ... ok +test tests::create_department_required_fund_fails_if_department_does_not_exist ... ok +test tests::apply_staking_period_fails ... ok +test tests::create_department_required_fund_fails_if_funding_more_than_tipping_value ... ok +test tests::it_works_for_default_value ... ok +test tests::schelling_game_incentives_get_test ... ok + +test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s + + Running unittests src/lib.rs (target/debug/deps/pallet_departments-eab2f38483358d81) + +running 13 tests +test mock::test_genesis_config_builds ... ok +test mock::__construct_runtime_integrity_test::runtime_integrity_tests ... ok +test tests::add_member_to_department_works ... ok +test tests::add_member_to_department_fails_if_not_admin ... ok +test tests::change_the_admin_fails_if_department_does_not_exist ... ok +test tests::add_member_to_department_fails_if_already_member ... ok +test tests::change_the_admin_works ... ok +test tests::create_department_works ... ok +test tests::change_the_admin_fails_if_not_current_admin ... ok +test tests::remove_member_from_department_fails_if_no_accounts ... ok +test tests::remove_member_from_department_fails_if_not_admin ... ok +test tests::remove_member_from_department_fails_if_not_a_member ... ok +test tests::remove_member_from_department_works ... ok + +test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s + + Running unittests src/lib.rs (target/debug/deps/pallet_positive_externality-8b3a337723858477) + +running 11 tests +test mock::test_genesis_config_builds ... ok +test mock::__construct_runtime_integrity_test::runtime_integrity_tests ... ok +test tests::test_applying_for_staking_period ... ok +test tests::test_appying_jurors ... ok +test tests::test_change_period ... ok +test tests::test_draw_jurors_period ... ok +test tests::test_commit_and_incentives_vote ... ok +test tests::test_drawn_jurors ... ok +test tests::test_positive_externality_post ... ok +test tests::test_setting_positive_externality_validation ... ok +test tests::schelling_game_incentives_get_test ... ok + +test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 7.32s + + Running unittests src/lib.rs (target/debug/deps/pallet_profile_validation-4f380589e08dbb08) + +running 9 tests +test mock::test_genesis_config_builds ... ok +test mock::__construct_runtime_integrity_test::runtime_integrity_tests ... ok +test tests::add_citizen_profile_check ... ok +test tests::challenge_profile_after_time_for_staking_over_test ... ok +test tests::challenge_evidence ... ok +test tests::check_fund_addition ... ok +test tests::return_profile_stake_test ... ok +test tests::test_draw_juror ... ok +test tests::schelling_game_test ... ok + +test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s + + Running unittests src/lib.rs (target/debug/deps/pallet_project_tips-785897dea52283b5) + +running 9 tests +test mock::test_genesis_config_builds ... ok +test mock::__construct_runtime_integrity_test::runtime_integrity_tests ... ok +test tests::check_balance_on_staking ... ok +test tests::check_create_project_function ... ok +test tests::check_apply_staking_period_function ... ok +test tests::schelling_game_test ... ok +test tests::schelling_game_incentives_test ... ok +test tests::get_tip_test ... ok +test tests::schelling_game_incentives_get_test ... ok + +test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.11s + + Running unittests src/lib.rs (target/debug/deps/pallet_schelling_game_shared-feef9a49ac3a230e) + +running 13 tests +test mock::test_genesis_config_builds ... ok +test mock::__construct_runtime_integrity_test::runtime_integrity_tests ... ok +test tests::apply_juror ... ok +test tests::challenger_lost_test ... ok +test tests::challenger_win_test_jurors_incentive_in_one_go ... ok +test tests::challenger_win_test ... ok +test tests::check_time_for_staking_not_over_test ... ok +test tests::end_of_time_staking_period ... ok +test tests::evidence_period_not_over_test ... ok +test tests::evidence_period_test ... ok +test tests::challenger_win_value_test ... ok +test tests::score_schelling_game_value_test ... ok +test tests::score_schelling_game_test ... ok + +test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s + + Running unittests src/lib.rs (target/debug/deps/pallet_shared_storage-d6948c6ef9e3e830) + +running 9 tests +test mock::test_genesis_config_builds ... ok +test mock::__construct_runtime_integrity_test::runtime_integrity_tests ... ok +test tests::test_add_score_to_department ... ok +test tests::test_get_all_department_reputation_scores ... ok +test tests::test_get_department_reputation_score ... ok +test tests::test_get_total_reputation_score ... ok +test tests::test_set_department_reputation_score ... ok +test tests::test_subtract_score_from_department ... ok +test tests::test_update_department_reputation_score ... ok + +test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/pallet_sortition_sum_game-7eff689f276bd3a1) + +running 4 tests +test mock::test_genesis_config_builds ... ok +test mock::__construct_runtime_integrity_test::runtime_integrity_tests ... ok +test tests::it_works_for_default_value ... ok +test tests::correct_error_for_none_value ... ok + +test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/pallet_spaces-bc7c808338ed7deb) + +running 4 tests +test mock::test_genesis_config_builds ... ok +test tests::it_works_for_default_value ... ok +test tests::correct_error_for_none_value ... ok +test mock::__construct_runtime_integrity_test::runtime_integrity_tests ... ok + +test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/pallet_support-c17eb778485b2e83) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/pallet_template-e18b6b212bb6eba8) + +running 4 tests +test mock::test_genesis_config_builds ... ok +test mock::__construct_runtime_integrity_test::runtime_integrity_tests ... ok +test tests::it_works_for_default_value ... ok +test tests::correct_error_for_none_value ... ok + +test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/positive_externality_rpc-12c8b879e95500ae) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/positive_externality_runtime_api-5b9e4c150f014554) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/profile_validation_rpc-ae24a82209a1ca70) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/profile_validation_runtime_api-9227e346b170fd5c) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/project_tips_rpc-b3ca63810e3e37c0) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/project_tips_runtime_api-12433f0eb251809a) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/trait_departments-d7cc2a3e521fe4f1) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/trait_schelling_game_shared-5580bf167a8a39c5) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/trait_shared_storage-df9a2dc802af8cf3) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (target/debug/deps/trait_sortition_sum_game-73a2700189a77355) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Doc-tests department_funding_rpc + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Doc-tests department_funding_runtime_api + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Doc-tests node_template_runtime + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Doc-tests pallet_department_funding + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Doc-tests pallet_departments + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Doc-tests pallet_positive_externality + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Doc-tests pallet_profile_validation + +running 3 tests +test custom-pallets/profile-validation/src/lib.rs - pallet::Call::add_profile_stake (line 290) ... ignored +test custom-pallets/profile-validation/src/lib.rs - pallet::Pallet::add_profile_stake (line 332) ... ignored +test custom-pallets/profile-validation/src/lib.rs - pallet::dispatchables::add_profile_stake (line 98) ... ignored + +test result: ok. 0 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Doc-tests pallet_project_tips + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Doc-tests pallet_schelling_game_shared + +running 8 tests +test custom-pallets/schelling-game-shared/src/extras.rs - extras::Pallet::change_period (line 271) ... ignored +test custom-pallets/schelling-game-shared/src/extras.rs - extras::Pallet::change_period (line 281) ... ignored +test custom-pallets/schelling-game-shared/src/extras.rs - extras::Pallet::change_period (line 288) ... ignored +test custom-pallets/schelling-game-shared/src/extras.rs - extras::Pallet::set_to_staking_period (line 209) ... ignored +test custom-pallets/schelling-game-shared/src/share_link.rs - share_link::Pallet::change_period_link (line 249) ... ignored +test custom-pallets/schelling-game-shared/src/share_link.rs - share_link::Pallet::change_period_link (line 259) ... ignored +test custom-pallets/schelling-game-shared/src/share_link.rs - share_link::Pallet::change_period_link (line 266) ... ignored +test custom-pallets/schelling-game-shared/src/share_link.rs - share_link::Pallet::set_to_staking_period_link (line 228) ... ignored + +test result: ok. 0 passed; 0 failed; 8 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Doc-tests pallet_shared_storage +``` +
+ +~~Some unit tests currently failing:~~ + +
+ Output ```rust error[E0599]: no function or associated item named `do_something` found for struct `pallet::Pallet` in the current scope @@ -87,3 +500,4 @@ warning: unused variable: `startblock4` warning: `pallet-department-funding` (lib test) generated 6 warnings (4 duplicates) warning: `pallet-profile-validation` (lib test) generated 4 warnings (4 duplicates) ``` +
From ecb18c3446a67c98048f402f36464e723c4c65c3 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Mon, 16 Sep 2024 11:37:17 -0400 Subject: [PATCH 61/69] Update shivarthu_2_keeganquigley.md --- evaluations/shivarthu_2_keeganquigley.md | 940 +++++++++++++++++++++++ 1 file changed, 940 insertions(+) diff --git a/evaluations/shivarthu_2_keeganquigley.md b/evaluations/shivarthu_2_keeganquigley.md index 79160f45a..78d7f692d 100644 --- a/evaluations/shivarthu_2_keeganquigley.md +++ b/evaluations/shivarthu_2_keeganquigley.md @@ -1,5 +1,945 @@ # General Notes +There are a ton of warnings when running cargo clippy: + +
+ Output + +```rust +warning: equality checks against false can be replaced by a negation + --> custom-pallets/department-funding/src/lib.rs:659:59 + | +659 | if winning_decision == WinningDecision::WinnerYes && released == false { + | ^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!released` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison + +warning: the borrowed expression implements the required traits + --> custom-pallets/department-funding/src/lib.rs:662:8 + | +662 | ... &department_required_fund_id, + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `department_required_fund_id` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args + +warning: the borrowed expression implements the required traits + --> custom-pallets/department-funding/src/lib.rs:675:10 + | +675 | ... &department_id, + | ^^^^^^^^^^^^^^ help: change this to: `department_id` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args + +warning: the borrowed expression implements the required traits + --> custom-pallets/department-funding/src/lib.rs:685:10 + | +685 | ... &department_id, + | ^^^^^^^^^^^^^^ help: change this to: `department_id` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args + +warning: equality checks against false can be replaced by a negation + --> custom-pallets/department-funding/src/lib.rs:692:65 + | +692 | } else if winning_decision == WinningDecision::WinnerNo && released == false { + | ^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!released` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison + +warning: the borrowed expression implements the required traits + --> custom-pallets/department-funding/src/lib.rs:696:8 + | +696 | ... &department_required_fund_id, + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `department_required_fund_id` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args + +warning: equality checks against false can be replaced by a negation + --> custom-pallets/department-funding/src/lib.rs:711:61 + | +711 | } else if winning_decision == WinningDecision::Draw && released == false { + | ^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!released` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison + +warning: the borrowed expression implements the required traits + --> custom-pallets/department-funding/src/lib.rs:715:8 + | +715 | ... &department_required_fund_id, + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `department_required_fund_id` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args + +warning: `pallet-department-funding` (lib) generated 35 warnings (run `cargo clippy --fix --lib -p pallet-department-funding` to apply 35 suggestions) +warning: returning the result of a `let` binding from a block + --> custom-pallets/project-tips/src/extras.rs:124:3 + | +121 | / let result = T::SchellingGameSharedSource::get_evidence_period_end_block_helper_link( +122 | | key, phase_data, now, +123 | | ); + | |__________- unnecessary `let` binding +124 | result + | ^^^^^^ + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return + = note: `#[warn(clippy::let_and_return)]` on by default +help: return the expression directly + | +121 ~ +122 ~ T::SchellingGameSharedSource::get_evidence_period_end_block_helper_link( +123 ~ key, phase_data, now, +124 ~ ) + | + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/project-tips/src/extras.rs:117:66 + | +117 | let key = SumTreeName::ProjectTips { project_id, block_number: block_number.clone() }; + | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + = note: `#[warn(clippy::clone_on_copy)]` on by default + +warning: returning the result of a `let` binding from a block + --> custom-pallets/project-tips/src/extras.rs:139:3 + | +136 | / let result = T::SchellingGameSharedSource::get_staking_period_end_block_helper_link( +137 | | key, phase_data, now, +138 | | ); + | |__________- unnecessary `let` binding +139 | result + | ^^^^^^ + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return +help: return the expression directly + | +136 ~ +137 ~ T::SchellingGameSharedSource::get_staking_period_end_block_helper_link( +138 ~ key, phase_data, now, +139 ~ ) + | + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/project-tips/src/extras.rs:132:66 + | +132 | let key = SumTreeName::ProjectTips { project_id, block_number: block_number.clone() }; + | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: returning the result of a `let` binding from a block + --> custom-pallets/project-tips/src/extras.rs:150:3 + | +148 | / let result = +149 | | T::SchellingGameSharedSource::get_drawing_period_end_helper_link(key, phase_data); + | |______________________________________________________________________________________________- unnecessary `let` binding +150 | result + | ^^^^^^ + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return +help: return the expression directly + | +148 ~ +149 ~ T::SchellingGameSharedSource::get_drawing_period_end_helper_link(key, phase_data) + | + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/project-tips/src/extras.rs:145:66 + | +145 | let key = SumTreeName::ProjectTips { project_id, block_number: block_number.clone() }; + | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: returning the result of a `let` binding from a block + --> custom-pallets/project-tips/src/extras.rs:165:3 + | +162 | / let result = T::SchellingGameSharedSource::get_commit_period_end_block_helper_link( +163 | | key, phase_data, now, +164 | | ); + | |__________- unnecessary `let` binding +165 | result + | ^^^^^^ + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return +help: return the expression directly + | +162 ~ +163 ~ T::SchellingGameSharedSource::get_commit_period_end_block_helper_link( +164 ~ key, phase_data, now, +165 ~ ) + | + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/project-tips/src/extras.rs:158:66 + | +158 | let key = SumTreeName::ProjectTips { project_id, block_number: block_number.clone() }; + | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: returning the result of a `let` binding from a block + --> custom-pallets/project-tips/src/extras.rs:180:3 + | +177 | / let result = T::SchellingGameSharedSource::get_vote_period_end_block_helper_link( +178 | | key, phase_data, now, +179 | | ); + | |__________- unnecessary `let` binding +180 | result + | ^^^^^^ + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return +help: return the expression directly + | +177 ~ +178 ~ T::SchellingGameSharedSource::get_vote_period_end_block_helper_link( +179 ~ key, phase_data, now, +180 ~ ) + | + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/project-tips/src/extras.rs:173:66 + | +173 | let key = SumTreeName::ProjectTips { project_id, block_number: block_number.clone() }; + | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: returning the result of a `let` binding from a block + --> custom-pallets/project-tips/src/extras.rs:189:3 + | +188 | let result = T::SchellingGameSharedSource::selected_as_juror_helper_link(key, who); + | ----------------------------------------------------------------------------------- unnecessary `let` binding +189 | result + | ^^^^^^ + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return +help: return the expression directly + | +188 ~ +189 ~ T::SchellingGameSharedSource::selected_as_juror_helper_link(key, who) + | + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/project-tips/src/extras.rs:186:66 + | +186 | let key = SumTreeName::ProjectTips { project_id, block_number: block_number.clone() }; + | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/project-tips/src/lib.rs:243:67 + | +243 | let key = SumTreeName::ProjectTips { project_id, block_number: now.clone() }; + | ^^^^^^^^^^^ help: try removing the `clone` call: `now` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/project-tips/src/lib.rs:245:45 + | +245 | >::insert(project_id, now.clone()); + | ^^^^^^^^^^^ help: try removing the `clone` call: `now` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/project-tips/src/lib.rs:247:77 + | +247 | T::SchellingGameSharedSource::set_to_staking_period_pe_link(key.clone(), now.clone())?; + | ^^^^^^^^^^^ help: try removing the `clone` call: `now` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/project-tips/src/lib.rs:266:67 + | +266 | let key = SumTreeName::ProjectTips { project_id, block_number: block_number.clone() }; + | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/project-tips/src/lib.rs:288:67 + | +288 | let key = SumTreeName::ProjectTips { project_id, block_number: block_number.clone() }; + | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/project-tips/src/lib.rs:307:67 + | +307 | let key = SumTreeName::ProjectTips { project_id, block_number: block_number.clone() }; + | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/project-tips/src/lib.rs:323:67 + | +323 | let key = SumTreeName::ProjectTips { project_id, block_number: block_number.clone() }; + | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/project-tips/src/lib.rs:338:67 + | +338 | let key = SumTreeName::ProjectTips { project_id, block_number: block_number.clone() }; + | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/project-tips/src/lib.rs:355:67 + | +355 | let key = SumTreeName::ProjectTips { project_id, block_number: block_number.clone() }; + | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/project-tips/src/lib.rs:369:67 + | +369 | let key = SumTreeName::ProjectTips { project_id, block_number: block_number.clone() }; + | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: equality checks against false can be replaced by a negation + --> custom-pallets/project-tips/src/lib.rs:384:59 + | +384 | if winning_decision == WinningDecision::WinnerYes && released == false { + | ^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!released` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison + = note: `#[warn(clippy::bool_comparison)]` on by default + +warning: the borrowed expression implements the required traits + --> custom-pallets/project-tips/src/lib.rs:387:29 + | +387 | >::mutate(&project_id, |project_option| { + | ^^^^^^^^^^^ help: change this to: `project_id` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args + = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default + +warning: equality checks against false can be replaced by a negation + --> custom-pallets/project-tips/src/lib.rs:398:65 + | +398 | } else if winning_decision == WinningDecision::WinnerNo && released == false { + | ^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!released` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison + +warning: the borrowed expression implements the required traits + --> custom-pallets/project-tips/src/lib.rs:401:29 + | +401 | >::mutate(&project_id, |project_option| { + | ^^^^^^^^^^^ help: change this to: `project_id` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args + +warning: equality checks against false can be replaced by a negation + --> custom-pallets/project-tips/src/lib.rs:412:61 + | +412 | } else if winning_decision == WinningDecision::Draw && released == false { + | ^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!released` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison + +warning: the borrowed expression implements the required traits + --> custom-pallets/project-tips/src/lib.rs:415:29 + | +415 | >::mutate(&project_id, |project_option| { + | ^^^^^^^^^^^ help: change this to: `project_id` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/project-tips/src/lib.rs:442:67 + | +442 | let key = SumTreeName::ProjectTips { project_id, block_number: block_number.clone() }; + | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: manual saturating arithmetic + --> custom-pallets/project-tips/src/lib.rs:524:35 + | +524 | ... (Some(win), Some(lost)) => win.checked_sub(lost).unwrap_or(0), + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `saturating_sub`: `win.saturating_sub(lost)` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_saturating_arithmetic + = note: `#[warn(clippy::manual_saturating_arithmetic)]` on by default + +warning: unused variable: `who` + --> custom-pallets/positive-externality/src/lib.rs:445:8 + | +445 | let who = ensure_signed(origin)?; + | ^^^ help: if this is intentional, prefix it with an underscore: `_who` + | + = note: `#[warn(unused_variables)]` on by default + +warning: associated function `get_drawn_jurors` is never used + --> custom-pallets/positive-externality/src/extras.rs:59:16 + | +29 | impl Pallet { + | ------------------------- associated function in this implementation +... +59 | pub(super) fn get_drawn_jurors(user_to_calculate: T::AccountId) -> Vec<(T::AccountId, u64)> { + | ^^^^^^^^^^^^^^^^ + | + = note: `#[warn(dead_code)]` on by default + +warning: associated function `deposit_event` is never used + --> custom-pallets/positive-externality/src/lib.rs:162:43 + | +162 | #[pallet::generate_deposit(pub(super) fn deposit_event)] + | ^^^^^^^^^^^^^ associated function in this implementation + +warning: equality checks against true are unnecessary + --> custom-pallets/positive-externality/src/extras.rs:36:11 + | +36 | ensure!(bool_data == true, Error::::ValidationPositiveExternalityIsOff); + | ^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `bool_data` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison + = note: `#[warn(clippy::bool_comparison)]` on by default + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/positive-externality/src/extras.rs:64:18 + | +64 | block_number: pe_block_number.clone(), + | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `pe_block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + = note: `#[warn(clippy::clone_on_copy)]` on by default + +warning: returning the result of a `let` binding from a block + --> custom-pallets/positive-externality/src/extras.rs:87:3 + | +84 | / let result = T::SchellingGameSharedSource::get_evidence_period_end_block_helper_link( +85 | | key, phase_data, now, +86 | | ); + | |__________- unnecessary `let` binding +87 | result + | ^^^^^^ + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return + = note: `#[warn(clippy::let_and_return)]` on by default +help: return the expression directly + | +84 ~ +85 ~ T::SchellingGameSharedSource::get_evidence_period_end_block_helper_link( +86 ~ key, phase_data, now, +87 ~ ) + | + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/positive-externality/src/extras.rs:79:18 + | +79 | block_number: pe_block_number.clone(), + | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `pe_block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: returning the result of a `let` binding from a block + --> custom-pallets/positive-externality/src/extras.rs:105:3 + | +102 | / let result = T::SchellingGameSharedSource::get_staking_period_end_block_helper_link( +103 | | key, phase_data, now, +104 | | ); + | |__________- unnecessary `let` binding +105 | result + | ^^^^^^ + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return +help: return the expression directly + | +102 ~ +103 ~ T::SchellingGameSharedSource::get_staking_period_end_block_helper_link( +104 ~ key, phase_data, now, +105 ~ ) + | + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/positive-externality/src/extras.rs:97:18 + | +97 | block_number: pe_block_number.clone(), + | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `pe_block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: returning the result of a `let` binding from a block + --> custom-pallets/positive-externality/src/extras.rs:119:3 + | +117 | / let result = +118 | | T::SchellingGameSharedSource::get_drawing_period_end_helper_link(key, phase_data); + | |______________________________________________________________________________________________- unnecessary `let` binding +119 | result + | ^^^^^^ + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return +help: return the expression directly + | +117 ~ +118 ~ T::SchellingGameSharedSource::get_drawing_period_end_helper_link(key, phase_data) + | + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/positive-externality/src/extras.rs:113:18 + | +113 | block_number: pe_block_number.clone(), + | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `pe_block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: returning the result of a `let` binding from a block + --> custom-pallets/positive-externality/src/extras.rs:137:3 + | +134 | / let result = T::SchellingGameSharedSource::get_commit_period_end_block_helper_link( +135 | | key, phase_data, now, +136 | | ); + | |__________- unnecessary `let` binding +137 | result + | ^^^^^^ + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return +help: return the expression directly + | +134 ~ +135 ~ T::SchellingGameSharedSource::get_commit_period_end_block_helper_link( +136 ~ key, phase_data, now, +137 ~ ) + | + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/positive-externality/src/extras.rs:129:18 + | +129 | block_number: pe_block_number.clone(), + | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `pe_block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: returning the result of a `let` binding from a block + --> custom-pallets/positive-externality/src/extras.rs:155:3 + | +152 | / let result = T::SchellingGameSharedSource::get_vote_period_end_block_helper_link( +153 | | key, phase_data, now, +154 | | ); + | |__________- unnecessary `let` binding +155 | result + | ^^^^^^ + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return +help: return the expression directly + | +152 ~ +153 ~ T::SchellingGameSharedSource::get_vote_period_end_block_helper_link( +154 ~ key, phase_data, now, +155 ~ ) + | + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/positive-externality/src/extras.rs:147:18 + | +147 | block_number: pe_block_number.clone(), + | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `pe_block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: returning the result of a `let` binding from a block + --> custom-pallets/positive-externality/src/extras.rs:167:3 + | +166 | let result = T::SchellingGameSharedSource::selected_as_juror_helper_link(key, who); + | ----------------------------------------------------------------------------------- unnecessary `let` binding +167 | result + | ^^^^^^ + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return +help: return the expression directly + | +166 ~ +167 ~ T::SchellingGameSharedSource::selected_as_juror_helper_link(key, who) + | + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/positive-externality/src/extras.rs:163:18 + | +163 | block_number: pe_block_number.clone(), + | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `pe_block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/positive-externality/src/lib.rs:271:19 + | +271 | block_number: storage_main_block.clone(), + | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `storage_main_block` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/positive-externality/src/lib.rs:307:19 + | +307 | block_number: pe_block_number.clone(), + | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `pe_block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/positive-externality/src/lib.rs:329:19 + | +329 | block_number: pe_block_number.clone(), + | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `pe_block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/positive-externality/src/lib.rs:352:19 + | +352 | block_number: pe_block_number.clone(), + | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `pe_block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/positive-externality/src/lib.rs:372:19 + | +372 | block_number: pe_block_number.clone(), + | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `pe_block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/positive-externality/src/lib.rs:391:19 + | +391 | block_number: pe_block_number.clone(), + | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `pe_block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: manual `RangeInclusive::contains` implementation + --> custom-pallets/positive-externality/src/lib.rs:408:12 + | +408 | ensure!(choice <= 5 && choice >= 1, Error::::ChoiceOutOfRange); + | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(1..=5).contains(&choice)` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains + = note: `#[warn(clippy::manual_range_contains)]` on by default + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/positive-externality/src/lib.rs:414:19 + | +414 | block_number: pe_block_number.clone(), + | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `pe_block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/positive-externality/src/lib.rs:432:19 + | +432 | block_number: pe_block_number.clone(), + | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `pe_block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/positive-externality/src/lib.rs:450:19 + | +450 | block_number: block_number.clone(), + | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: equality checks against false can be replaced by a negation + --> custom-pallets/positive-externality/src/lib.rs:464:7 + | +464 | if got_incentives_bool == false { + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!got_incentives_bool` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/positive-externality/src/lib.rs:493:19 + | +493 | block_number: block_number.clone(), + | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `block_number` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: manual saturating arithmetic + --> custom-pallets/positive-externality/src/lib.rs:580:35 + | +580 | ... (Some(win), Some(lost)) => win.checked_sub(lost).unwrap_or(0), + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `saturating_sub`: `win.saturating_sub(lost)` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_saturating_arithmetic + = note: `#[warn(clippy::manual_saturating_arithmetic)]` on by default + +warning: `pallet-project-tips` (lib) generated 30 warnings (run `cargo clippy --fix --lib -p pallet-project-tips` to apply 30 suggestions) +warning: `pallet-positive-externality` (lib) generated 30 warnings (run `cargo clippy --fix --lib -p pallet-positive-externality` to apply 27 suggestions) +warning: constant `PALLET_ID` is never used + --> custom-pallets/profile-validation/src/lib.rs:67:7 + | +67 | const PALLET_ID: PalletId = PalletId(*b"ex/cfund"); + | ^^^^^^^^^ + | + = note: `#[warn(dead_code)]` on by default + +warning: returning the result of a `let` binding from a block + --> custom-pallets/profile-validation/src/extras.rs:123:3 + | +120 | / let result = T::SchellingGameSharedSource::get_evidence_period_end_block_helper_link( +121 | | key, phase_data, now, +122 | | ); + | |__________- unnecessary `let` binding +123 | result + | ^^^^^^ + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return + = note: `#[warn(clippy::let_and_return)]` on by default +help: return the expression directly + | +120 ~ +121 ~ T::SchellingGameSharedSource::get_evidence_period_end_block_helper_link( +122 ~ key, phase_data, now, +123 ~ ) + | + +warning: returning the result of a `let` binding from a block + --> custom-pallets/profile-validation/src/extras.rs:140:3 + | +137 | / let result = T::SchellingGameSharedSource::get_staking_period_end_block_helper_link( +138 | | key, phase_data, now, +139 | | ); + | |__________- unnecessary `let` binding +140 | result + | ^^^^^^ + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return +help: return the expression directly + | +137 ~ +138 ~ T::SchellingGameSharedSource::get_staking_period_end_block_helper_link( +139 ~ key, phase_data, now, +140 ~ ) + | + +warning: returning the result of a `let` binding from a block + --> custom-pallets/profile-validation/src/extras.rs:154:3 + | +152 | / let result = +153 | | T::SchellingGameSharedSource::get_drawing_period_end_helper_link(key, phase_data); + | |______________________________________________________________________________________________- unnecessary `let` binding +154 | result + | ^^^^^^ + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return +help: return the expression directly + | +152 ~ +153 ~ T::SchellingGameSharedSource::get_drawing_period_end_helper_link(key, phase_data) + | + +warning: returning the result of a `let` binding from a block + --> custom-pallets/profile-validation/src/extras.rs:170:3 + | +167 | / let result = T::SchellingGameSharedSource::get_commit_period_end_block_helper_link( +168 | | key, phase_data, now, +169 | | ); + | |__________- unnecessary `let` binding +170 | result + | ^^^^^^ + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return +help: return the expression directly + | +167 ~ +168 ~ T::SchellingGameSharedSource::get_commit_period_end_block_helper_link( +169 ~ key, phase_data, now, +170 ~ ) + | + +warning: returning the result of a `let` binding from a block + --> custom-pallets/profile-validation/src/extras.rs:186:3 + | +183 | / let result = T::SchellingGameSharedSource::get_vote_period_end_block_helper_link( +184 | | key, phase_data, now, +185 | | ); + | |__________- unnecessary `let` binding +186 | result + | ^^^^^^ + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return +help: return the expression directly + | +183 ~ +184 ~ T::SchellingGameSharedSource::get_vote_period_end_block_helper_link( +185 ~ key, phase_data, now, +186 ~ ) + | + +warning: returning the result of a `let` binding from a block + --> custom-pallets/profile-validation/src/extras.rs:198:3 + | +197 | let result = T::SchellingGameSharedSource::selected_as_juror_helper_link(key, who); + | ----------------------------------------------------------------------------------- unnecessary `let` binding +198 | result + | ^^^^^^ + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return +help: return the expression directly + | +197 ~ +198 ~ T::SchellingGameSharedSource::selected_as_juror_helper_link(key, who) + | + +warning: returning the result of a `let` binding from a block + --> custom-pallets/profile-validation/src/extras.rs:207:3 + | +206 | let fund_required = registration_fee_u64.checked_sub(total_fund_u64); + | --------------------------------------------------------------------- unnecessary `let` binding +207 | fund_required + | ^^^^^^^^^^^^^ + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return +help: return the expression directly + | +206 ~ +207 ~ registration_fee_u64.checked_sub(total_fund_u64) + | + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/profile-validation/src/lib.rs:371:21 + | +371 | block_number: now.clone(), + | ^^^^^^^^^^^ help: try removing the `clone` call: `now` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + = note: `#[warn(clippy::clone_on_copy)]` on by default + +warning: using `clone` on type `<::Currency as Currency<::AccountId>>::Balance` which implements the `Copy` trait + --> custom-pallets/profile-validation/src/lib.rs:382:6 + | +382 | amount_to_fund.clone(), + | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `amount_to_fund` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: using `clone` on type `<::Currency as Currency<::AccountId>>::Balance` which implements the `Copy` trait + --> custom-pallets/profile-validation/src/lib.rs:403:17 + | +403 | ... deposit: amount_to_fund.clone(), + | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `amount_to_fund` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: using `clone` on type `<<::Block as Block>::Header as Header>::Number` which implements the `Copy` trait + --> custom-pallets/profile-validation/src/lib.rs:451:12 + | +451 | start: now.clone(), + | ^^^^^^^^^^^ help: try removing the `clone` call: `now` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: using `clone` on type `<::Currency as Currency<::AccountId>>::Balance` which implements the `Copy` trait + --> custom-pallets/profile-validation/src/lib.rs:461:7 + | +461 | fees.clone(), + | ^^^^^^^^^^^^ help: try removing the `clone` call: `fees` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: the borrowed expression implements the required traits + --> custom-pallets/profile-validation/src/lib.rs:492:33 + | +492 | >::insert(&count, challenge_evidence_post); + | ^^^^^^ help: change this to: `count` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args + = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default + +warning: the borrowed expression implements the required traits + --> custom-pallets/profile-validation/src/lib.rs:562:34 + | +562 | match >::get(&post_id) { + | ^^^^^^^^ help: change this to: `post_id` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args + +warning: equality checks against false can be replaced by a negation + --> custom-pallets/profile-validation/src/lib.rs:565:9 + | +565 | if challenge_evidence_post_c.is_comment == false { + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!challenge_evidence_post_c.is_comment` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison + = note: `#[warn(clippy::bool_comparison)]` on by default + +warning: the borrowed expression implements the required traits + --> custom-pallets/profile-validation/src/lib.rs:566:34 + | +566 | >::insert(&count, challenge_evidence_post); + | ^^^^^^ help: change this to: `count` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args + +warning: the borrowed expression implements the required traits + --> custom-pallets/profile-validation/src/lib.rs:570:63 + | +570 | let mut comment_ids = >::get(&post_id); + | ^^^^^^^^ help: change this to: `post_id` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args + +warning: using `clone` on type `u64` which implements the `Copy` trait + --> custom-pallets/profile-validation/src/lib.rs:574:35 + | +574 | ... comment_ids.insert(index, count.clone()); + | ^^^^^^^^^^^^^ help: try removing the `clone` call: `count` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy + +warning: the borrowed expression implements the required traits + --> custom-pallets/profile-validation/src/lib.rs:575:46 + | +575 | ... >::insert(&post_id, &comment_ids); + | ^^^^^^^^ help: change this to: `post_id` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args + +warning: equality checks against false can be replaced by a negation + --> custom-pallets/profile-validation/src/lib.rs:843:11 + | +843 | ... if profile_fund_info.deposit_returned == false { + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!profile_fund_info.deposit_returned` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison + +warning: equality checks against false can be replaced by a negation + --> custom-pallets/profile-validation/src/lib.rs:872:10 + | +872 | if profile_fund_info.deposit_returned == false { + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!profile_fund_info.deposit_returned` + | + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison + +warning: `pallet-profile-validation` (lib) generated 22 warnings (run `cargo clippy --fix --lib -p pallet-profile-validation` to apply 21 suggestions) + Checking rocksdb v0.21.0 + Checking kvdb-rocksdb v0.19.0 + Checking sc-client-db v0.35.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Checking sc-service v0.35.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Checking sc-cli v0.36.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Checking frame-benchmarking-cli v32.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Checking node-template v0.0.0 (/home/ubuntu/shivarthu/node) + Finished `dev` profile [unoptimized + debuginfo] target(s) in 6m 03s +``` +
+ Unit tests now all successfully passing:
From 741d47e355e66d2aa6065f3f0d6c1b4b15e9aac1 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Mon, 16 Sep 2024 11:45:01 -0400 Subject: [PATCH 62/69] Update shivarthu_2_keeganquigley.md --- evaluations/shivarthu_2_keeganquigley.md | 191 +++++++++++++++++++++++ 1 file changed, 191 insertions(+) diff --git a/evaluations/shivarthu_2_keeganquigley.md b/evaluations/shivarthu_2_keeganquigley.md index 78d7f692d..081166e0d 100644 --- a/evaluations/shivarthu_2_keeganquigley.md +++ b/evaluations/shivarthu_2_keeganquigley.md @@ -1,5 +1,196 @@ # General Notes +Benchmarking tests are failing: + +
+ Output + +```rust +error[E0599]: no variant or associated item named `new_call_variant_do_something` found for enum `pallet::Call` in the current scope + --> custom-pallets/sortition-sum-game/src/benchmarking.rs:10:1 + | +10 | #[benchmarks] + | ^^^^^^^^^^^^^ variant or associated item not found in `Call` + | + ::: custom-pallets/sortition-sum-game/src/lib.rs:32:1 + | +32 | pub mod pallet { + | --- variant or associated item `new_call_variant_do_something` not found for this enum + | + = note: this error originates in the attribute macro `benchmarks` (in Nightly builds, run with -Z macro-backtrace for more info) + +error[E0433]: failed to resolve: use of undeclared type `Something` + --> custom-pallets/sortition-sum-game/src/benchmarking.rs:21:14 + | +21 | assert_eq!(Something::::get(), Some(value)); + | ^^^^^^^^^ use of undeclared type `Something` + +error[E0433]: failed to resolve: use of undeclared type `Something` + --> custom-pallets/sortition-sum-game/src/benchmarking.rs:26:3 + | +26 | Something::::put(100u32); + | ^^^^^^^^^ use of undeclared type `Something` + +error[E0599]: no variant or associated item named `new_call_variant_cause_error` found for enum `pallet::Call` in the current scope + --> custom-pallets/sortition-sum-game/src/benchmarking.rs:10:1 + | +10 | #[benchmarks] + | ^^^^^^^^^^^^^ variant or associated item not found in `Call` + | + ::: custom-pallets/sortition-sum-game/src/lib.rs:32:1 + | +32 | pub mod pallet { + | --- variant or associated item `new_call_variant_cause_error` not found for this enum + | + = note: this error originates in the attribute macro `benchmarks` (in Nightly builds, run with -Z macro-backtrace for more info) + +error[E0433]: failed to resolve: use of undeclared type `Something` + --> custom-pallets/sortition-sum-game/src/benchmarking.rs:31:14 + | +31 | assert_eq!(Something::::get(), Some(101u32)); + | ^^^^^^^^^ use of undeclared type `Something` + +Some errors have detailed explanations: E0433, E0599. +For more information about an error, try `rustc --explain E0433`. +error: could not compile `pallet-sortition-sum-game` (lib) due to 7 previous errors +warning: build failed, waiting for other jobs to finish... +error: failed to run custom build command for `node-template-runtime v0.0.0 (/home/ubuntu/shivarthu/runtime)` + +Caused by: + process didn't exit successfully: `/home/ubuntu/shivarthu/target/debug/build/node-template-runtime-d16dcaae1a46c1b2/build-script-build` (exit status: 1) + --- stdout + Information that should be included in a bug report. + Executing build command: env -u CARGO_ENCODED_RUSTFLAGS -u RUSTC CARGO_TARGET_DIR="/home/ubuntu/shivarthu/target/debug/wbuild/node-template-runtime/target" RUSTC_BOOTSTRAP="1" RUSTFLAGS="-C target-cpu=mvp -C target-feature=-sign-ext -C link-arg=--export-table -Clink-arg=--export=__heap_base -C link-arg=--import-memory --cfg substrate_runtime " SKIP_WASM_BUILD="" "/home/ubuntu/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/cargo" "rustc" "--target=wasm32-unknown-unknown" "--manifest-path=/home/ubuntu/shivarthu/target/debug/wbuild/node-template-runtime/Cargo.toml" "--color=always" "--profile" "release" "-Z" "build-std" + Using rustc version: rustc 1.81.0 (eeb90cda1 2024-09-04) + + + --- stderr + Locking 1 package to latest compatible version + Adding node-template-runtime-blob v1.0.0 (/home/ubuntu/shivarthu/target/debug/wbuild/node-template-runtime) + Compiling sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling node-template-runtime v0.0.0 (/home/ubuntu/shivarthu/runtime) + Compiling sp-version v29.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling sp-staking v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling sp-timestamp v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling sp-consensus-slots v0.32.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling sp-genesis-builder v0.7.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling sp-session v27.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling sp-consensus-grandpa v13.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling sp-consensus-aura v0.32.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling frame-support v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling sp-offchain v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling frame-system-rpc-runtime-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling sp-block-builder v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling sp-transaction-pool v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling frame-system v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling trait-sortition-sum-game v0.1.0 (/home/ubuntu/shivarthu/traits/trait-sortition-sum-game) + Compiling trait-schelling-game-shared v0.1.0 (/home/ubuntu/shivarthu/traits/trait-schelling-game-shared) + Compiling trait-shared-storage v0.1.0 (/home/ubuntu/shivarthu/traits/trait-shared-storage) + Compiling trait-departments v0.1.0 (/home/ubuntu/shivarthu/traits/trait-departments) + Compiling project-tips-runtime-api v0.1.0 (/home/ubuntu/shivarthu/custom-pallets/project-tips/project-tips-runtime-api) + Compiling department-funding-runtime-api v0.1.0 (/home/ubuntu/shivarthu/custom-pallets/department-funding/department-funding-runtime-api) + warning: unused import: `sp_std::prelude::*` + --> /home/ubuntu/shivarthu/custom-pallets/project-tips/project-tips-runtime-api/src/lib.rs:6:5 + | + 6 | use sp_std::prelude::*; + | ^^^^^^^^^^^^^^^^^^ + | + = note: `#[warn(unused_imports)]` on by default + + warning: unused import: `sp_std::prelude::*` + --> /home/ubuntu/shivarthu/custom-pallets/department-funding/department-funding-runtime-api/src/lib.rs:6:5 + | + 6 | use sp_std::prelude::*; + | ^^^^^^^^^^^^^^^^^^ + | + = note: `#[warn(unused_imports)]` on by default + + warning: `project-tips-runtime-api` (lib) generated 1 warning (run `cargo fix --lib -p project-tips-runtime-api` to apply 1 suggestion) + Compiling profile-validation-runtime-api v0.1.0 (/home/ubuntu/shivarthu/custom-pallets/profile-validation/profile-validation-runtime-api) + warning: `department-funding-runtime-api` (lib) generated 1 warning (run `cargo fix --lib -p department-funding-runtime-api` to apply 1 suggestion) + Compiling positive-externality-runtime-api v0.1.0 (/home/ubuntu/shivarthu/custom-pallets/positive-externality/positive-externality-runtime-api) + warning: unused import: `sp_std::prelude::*` + --> /home/ubuntu/shivarthu/custom-pallets/positive-externality/positive-externality-runtime-api/src/lib.rs:6:5 + | + 6 | use sp_std::prelude::*; + | ^^^^^^^^^^^^^^^^^^ + | + = note: `#[warn(unused_imports)]` on by default + + warning: `positive-externality-runtime-api` (lib) generated 1 warning (run `cargo fix --lib -p positive-externality-runtime-api` to apply 1 suggestion) + Compiling frame-benchmarking v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling pallet-authorship v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling pallet-transaction-payment v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling frame-executive v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling pallet-insecure-randomness-collective-flip v16.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling pallet-transaction-payment-rpc-runtime-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling pallet-timestamp v27.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling pallet-balances v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) + Compiling pallet-sortition-sum-game v4.0.0-dev (/home/ubuntu/shivarthu/custom-pallets/sortition-sum-game) + error[E0599]: no variant or associated item named `new_call_variant_do_something` found for enum `pallet::Call` in the current scope + --> /home/ubuntu/shivarthu/custom-pallets/sortition-sum-game/src/benchmarking.rs:10:1 + | + 10 | #[benchmarks] + | ^^^^^^^^^^^^^ variant or associated item not found in `Call` + | + ::: /home/ubuntu/shivarthu/custom-pallets/sortition-sum-game/src/lib.rs:32:1 + | + 32 | / pub mod pallet { + 33 | | use super::*; + 34 | | + 35 | | #[pallet::pallet] + ... | + 70 | | } + 71 | | } + | |_- variant or associated item `new_call_variant_do_something` not found for this enum + | + = note: this error originates in the attribute macro `benchmarks` (in Nightly builds, run with -Z macro-backtrace for more info) + + error[E0433]: failed to resolve: use of undeclared type `Something` + --> /home/ubuntu/shivarthu/custom-pallets/sortition-sum-game/src/benchmarking.rs:21:14 + | + 21 | assert_eq!(Something::::get(), Some(value)); + | ^^^^^^^^^ use of undeclared type `Something` + + error[E0433]: failed to resolve: use of undeclared type `Something` + --> /home/ubuntu/shivarthu/custom-pallets/sortition-sum-game/src/benchmarking.rs:26:3 + | + 26 | Something::::put(100u32); + | ^^^^^^^^^ use of undeclared type `Something` + + error[E0599]: no variant or associated item named `new_call_variant_cause_error` found for enum `pallet::Call` in the current scope + --> /home/ubuntu/shivarthu/custom-pallets/sortition-sum-game/src/benchmarking.rs:10:1 + | + 10 | #[benchmarks] + | ^^^^^^^^^^^^^ variant or associated item not found in `Call` + | + ::: /home/ubuntu/shivarthu/custom-pallets/sortition-sum-game/src/lib.rs:32:1 + | + 32 | / pub mod pallet { + 33 | | use super::*; + 34 | | + 35 | | #[pallet::pallet] + ... | + 70 | | } + 71 | | } + | |_- variant or associated item `new_call_variant_cause_error` not found for this enum + | + = note: this error originates in the attribute macro `benchmarks` (in Nightly builds, run with -Z macro-backtrace for more info) + + error[E0433]: failed to resolve: use of undeclared type `Something` + --> /home/ubuntu/shivarthu/custom-pallets/sortition-sum-game/src/benchmarking.rs:31:14 + | + 31 | assert_eq!(Something::::get(), Some(101u32)); + | ^^^^^^^^^ use of undeclared type `Something` + + Some errors have detailed explanations: E0433, E0599. + For more information about an error, try `rustc --explain E0433`. + error: could not compile `pallet-sortition-sum-game` (lib) due to 5 previous errors + warning: build failed, waiting for other jobs to finish... +``` +
+ There are a ton of warnings when running cargo clippy:
From 624b4830a05ae348e09fa8c8bd53306a38a29c59 Mon Sep 17 00:00:00 2001 From: Piet <75956460+PieWol@users.noreply.github.com> Date: Wed, 18 Sep 2024 18:05:24 +0200 Subject: [PATCH 63/69] Tuxedo dApp M1 Evaluation (#1175) --- evaluations/tuxedoDApp_1_piewol.md | 70 ++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 evaluations/tuxedoDApp_1_piewol.md diff --git a/evaluations/tuxedoDApp_1_piewol.md b/evaluations/tuxedoDApp_1_piewol.md new file mode 100644 index 000000000..9712e4ac6 --- /dev/null +++ b/evaluations/tuxedoDApp_1_piewol.md @@ -0,0 +1,70 @@ +# Evaluation + +- **Status:** accepted +- **Application Document:** [tuxedoDapp](https://github.com/w3f/Grants-Program/blob/master/applications/TuxedoDapp.md) +- **Milestone:** 1 +- **Previously successfully merged evaluation:** All by PieWol + +| Number | Deliverable | Accepted | Link | Evaluation Notes | +| ------ | ----------- | :------: | ---- |----------------- | +| **0a.** | License |
  • [x]
| [License file](https://github.com/mlabs-haskell/TuxedoDapp?tab=Apache-2.0-1-ov-file#readme) | Apache 2.0 | +| **0b.** | Documentation |
  • [x]
|[README](https://github.com/mlabs-haskell/TuxedoDapp/blob/master/README.md), [Demo wallet integration](https://www.loom.com/share/e1270ecea79a4689aff5732e8acfae14), [CLI-wallet - Demo part 1/3](https://youtu.be/Mom3BV_HozY), [CLI-wallet - Demo part 2/3](https://youtu.be/GfyiBW1XFW0), [CLI-wallet - Demo part 3/3](https://youtu.be/1T2oE0bfaCQ), [APIs spreadsheet](https://github.com/mlabs-haskell/TuxedoDapp/wiki/APIs-spreadsheet), [Build and run the project](https://github.com/mlabs-haskell/TuxedoDapp/wiki/Build-and-run-the-project), [Frontend development libs](https://github.com/mlabs-haskell/TuxedoDapp/wiki/Frontend-development-libs), [Game design](https://github.com/mlabs-haskell/TuxedoDapp/wiki/Game-design), [Wireframes](https://github.com/mlabs-haskell/TuxedoDapp/wiki/Wireframes)| ok | +| **0c.** | Testing and Testing Guide |
  • [x]
| [CLI-Wallet test](https://github.com/mlabs-haskell/Tuxedo/blob/webservice-redeemer-gen-debug-with-lks/wardrobe/kitties/src/tests.rs) , [Tuxedo Template Wallet](https://github.com/mlabs-haskell/Tuxedo/blob/webservice-redeemer-gen-debug-with-lks/wallet/README.md) | see additional notes | +| **0d.** | Article |
  • [x]
| [Tuxedo DApp specification](https://docs.google.com/document/d/1dHsb_k3Xo5f4yFx802sMe22z6NYq3FeZc9l4bB0exMk/edit), [Talisman integration design](https://docs.google.com/presentation/d/1vsfJ5TYPXcvF4vmY7fHfM25lcNmZdjh6YfUyyoOzVAw/edit) | ok | +| **0e.** | Docker |
  • [x]
| [webservice-wallet](https://github.com/mlabs-haskell/Tuxedo/blob/webservice-redeemer-gen-debug-with-lks/webservice-wallet/Dockerfile) | works | +| **0f.** | Frontend, CLI wallet and core |
  • [x]
| [main DApp repo](https://github.com/mlabs-haskell/TuxedoDapp), [CLI Wallet and core repo](https://github.com/mlabs-haskell/Tuxedo) | see notes, frontend shows already purchased kitties still as "for sale". | + + +## General Notes +Thanks for providing the testing guide. + +1. Minting Kitties works +2. Breeding Kitties works +3. Listing a Kitty for purchase works +4. Purchasing a kitty works + +There is one issue in the frontend as it shows Kitties that already have been bought still as "for sale" so the UI support you in creating a TX to buy this even though it has just been bought and is actually no longer for sale. These transactions fail and it doesn't change the owner again. This is actually part of milestone 2 and thus this milestone is accepted. + + + +## Testing +webservice tests: +``test result: ok. 30 passed`` + +node tests failing: + +``` +failures: + service_handlers::block_handler::block_service_handler::tests::test_get_block_block_number_not_present_fail + service_handlers::block_handler::block_service_handler::tests::test_get_block_success + service_handlers::block_handler::block_service_handler::tests::test_get_genesis_block_success + service_handlers::kitty_handler::kitty_service_handler::tests::test_breed_kitty + service_handlers::kitty_handler::kitty_service_handler::tests::test_buy_kitty + service_handlers::kitty_handler::kitty_service_handler::tests::test_create_kitty + service_handlers::kitty_handler::kitty_service_handler::tests::test_create_kitty_fail_due_unknown_public_key + service_handlers::kitty_handler::kitty_service_handler::tests::test_create_kitty_success + service_handlers::kitty_handler::kitty_service_handler::tests::test_delist_kitty_from_sale + service_handlers::kitty_handler::kitty_service_handler::tests::test_get_all_kitty_list + service_handlers::kitty_handler::kitty_service_handler::tests::test_get_all_td_kitty_list + service_handlers::kitty_handler::kitty_service_handler::tests::test_get_kitty_by_dna + service_handlers::kitty_handler::kitty_service_handler::tests::test_get_owned_kitty_list + service_handlers::kitty_handler::kitty_service_handler::tests::test_get_owned_td_kitty_list + service_handlers::kitty_handler::kitty_service_handler::tests::test_get_td_kitty_by_dna + service_handlers::kitty_handler::kitty_service_handler::tests::test_get_txn_and_inpututxolist_for_list_kitty_for_sale_success + service_handlers::kitty_handler::kitty_service_handler::tests::test_list_kitty_for_sale + service_handlers::kitty_handler::kitty_service_handler::tests::test_name_update + service_handlers::kitty_handler::kitty_service_handler::tests::test_td_name_update + service_handlers::kitty_handler::kitty_service_handler::tests::test_td_price_update + service_handlers::money_handler::money_servicehandler::tests::test_get_all_coins + service_handlers::money_handler::money_servicehandler::tests::test_owned_coins + +test result: FAILED. 8 passed; 22 failed; 0 ignored; 0 measured; 0 filtered out; finished in 15.14s +``` + + + +## Documentation +The API documentation is currently in an excel spreadsheet which makes for a very cluttered look. Not that this is your fault but excel doesn't seem to be a great tool for API documentation and management. + +## Article +It would have been amazing if there were a short and high level overview of your work to be published on e.g. medium for the general community to read. This deliverable is accepted though as it wasn't specified in the agreement. The agreed upon items for this deliverable have been delivered. \ No newline at end of file From 7b84b36ba4b724958bbb97d92403d571611307be Mon Sep 17 00:00:00 2001 From: Mario Altimari Date: Wed, 18 Sep 2024 17:05:34 +0100 Subject: [PATCH 64/69] TuxedoDapp milestone 1 (#1170) --- deliveries/TuxedoDApp_Milestone_1.md | 33 ++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 deliveries/TuxedoDApp_Milestone_1.md diff --git a/deliveries/TuxedoDApp_Milestone_1.md b/deliveries/TuxedoDApp_Milestone_1.md new file mode 100644 index 000000000..7b4f4f917 --- /dev/null +++ b/deliveries/TuxedoDApp_Milestone_1.md @@ -0,0 +1,33 @@ +# Milestone Delivery :mailbox: + +**The [invoice form :pencil:](https://docs.google.com/forms/d/e/1FAIpQLSfmNYaoCgrxyhzgoKQ0ynQvnNRoTmgApz9NrMp-hd8mhIiO0A/viewform) has been filled out correctly for this milestone and the delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).** + +* **Application Document:** +* **Milestone Number:** 1 + +**Context** + +Unlike traditional account-based systems, UTXO-based systems treat each transaction output as a distinct entity, introducing advantages in parallel processing and state transition simplicity. The Tuxedo project endeavours to demonstrate the flexibility and interoperability of Polkadot by implementing UTXO as one of its paradigms. MLabs, with expertise in the Cardano ecosystem utilizing UTXO as its core model, sees an opportunity to contribute to Tuxedo's success, address identified issues, and engage in future collaborative activities. + +Our goal is to showcase the potential of Polkadot using the UTXO paradigm for the end user, leveraging Tuxedo. + +**Deliverables** + +| Number | Deliverable | Link | Notes | +| -----: | ----------- | ------------- | ------------- | +| **0a.** | License | [License file](https://github.com/mlabs-haskell/TuxedoDapp?tab=Apache-2.0-1-ov-file#readme) | Apache 2.0, as recommended | +| **0b.** | Documentation | [README](https://github.com/mlabs-haskell/TuxedoDapp/blob/master/README.md), [Demo wallet integration](https://www.loom.com/share/e1270ecea79a4689aff5732e8acfae14), [CLI-wallet - Demo part 1/3](https://youtu.be/Mom3BV_HozY), [CLI-wallet - Demo part 2/3](https://youtu.be/GfyiBW1XFW0), [CLI-wallet - Demo part 3/3](https://youtu.be/1T2oE0bfaCQ), [APIs spreadsheet](https://github.com/mlabs-haskell/TuxedoDapp/wiki/APIs-spreadsheet), [Build and run the project](https://github.com/mlabs-haskell/TuxedoDapp/wiki/Build-and-run-the-project), [Frontend development libs](https://github.com/mlabs-haskell/TuxedoDapp/wiki/Frontend-development-libs), [Game design](https://github.com/mlabs-haskell/TuxedoDapp/wiki/Game-design), [Wireframes](https://github.com/mlabs-haskell/TuxedoDapp/wiki/Wireframes), [GitHub project management tool](https://github.com/orgs/mlabs-haskell/projects/57/views/1) | Overall project description. Video to showcase the Talisman integration. Info about APIs spreadsheet, Build and run the project, DApp specification, Frontend development libs, Game Design, Wireframes. The GitHub PM tool tracked the amount of work done across different developers | +| **0c.** | Testing and Testing Guide | [CLI-Wallet test](https://github.com/mlabs-haskell/Tuxedo/blob/webservice-redeemer-gen-debug-with-lks/wardrobe/kitties/src/tests.rs) , [Tuxedo Template Wallet](https://github.com/mlabs-haskell/Tuxedo/blob/webservice-redeemer-gen-debug-with-lks/wallet/README.md) | We included our tests done for the CLI-Wallet, they can be executed using the Tuxedo documentation in the README | +| **0d.** | Article | [Tuxedo DApp specification](https://docs.google.com/document/d/1dHsb_k3Xo5f4yFx802sMe22z6NYq3FeZc9l4bB0exMk/edit), [Talisman integration design](https://docs.google.com/presentation/d/1vsfJ5TYPXcvF4vmY7fHfM25lcNmZdjh6YfUyyoOzVAw/edit) | DApp specification with description of the components. A brief design of the talisman integration. | +| **0e.** | Docker | [webservice-wallet](https://github.com/mlabs-haskell/Tuxedo/blob/webservice-redeemer-gen-debug-with-lks/webservice-wallet/Dockerfile) | For the Talisman integration, docker is not needed. However, we included the docked used for the webservice | +| **0f.** | Frontend, CLI wallet and core | [main DApp repo](https://github.com/mlabs-haskell/TuxedoDapp), [CLI Wallet and core repo](https://github.com/mlabs-haskell/Tuxedo) | In these repos we have the DApp including the integrated Talisman and the CLI-Wallet together with the core | + + +## + +**Additional Information** + +Following the suggestion of Joshua Orndorff, author of Tuxedo, we focused on integrating an existing wallet instead of building a redundant solution from scratch. The effort was not trivial because Talisman doesn't support UTXO. However, to be sure how the front end of the Dapp was supposed to work, we had to build extra features on the Tuxedo CLI wallet. That effort was not foreseen during the original budget definition of the grant. Still, we preferred to invest the extra time and resources in this direction, to understand and test the Tuxedo code deeply. Other than the CLI-wallet we also worked on extra areas outside of the granted budget: + +1. Mint_coin: +2. Metadata analysis and design/experiments: From d589954646615358e451e352affd405d8488592c Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Thu, 26 Sep 2024 14:20:32 -0400 Subject: [PATCH 65/69] Create ISO20022-Implementation-POC_1_keeganquigley.md --- .../ISO20022-Implementation-POC_1_keeganquigley.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 evaluations/ISO20022-Implementation-POC_1_keeganquigley.md diff --git a/evaluations/ISO20022-Implementation-POC_1_keeganquigley.md b/evaluations/ISO20022-Implementation-POC_1_keeganquigley.md new file mode 100644 index 000000000..badbef7a0 --- /dev/null +++ b/evaluations/ISO20022-Implementation-POC_1_keeganquigley.md @@ -0,0 +1,14 @@ +# Evaluation + +- **Status:** Accepted +- **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/ISO20022.md +- **Milestone:** 1 +- **Previously successfully merged evaluation:** All by keeganquigley + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0c.** | Methodology | Description of how the information was sourced. | +| **0e.** | Bibliography | List of sources | +| 1. | Article | The article can be found [here](https://hackmd.io/@pifragile/BkQKiNJqA)| + +# General Notes From c33e659fe33046d2f76fdb7983f8d241b83d455a Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Thu, 26 Sep 2024 14:39:36 -0400 Subject: [PATCH 66/69] Update ISO20022-Implementation-POC_1_keeganquigley.md --- .../ISO20022-Implementation-POC_1_keeganquigley.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/evaluations/ISO20022-Implementation-POC_1_keeganquigley.md b/evaluations/ISO20022-Implementation-POC_1_keeganquigley.md index badbef7a0..a58cc29b8 100644 --- a/evaluations/ISO20022-Implementation-POC_1_keeganquigley.md +++ b/evaluations/ISO20022-Implementation-POC_1_keeganquigley.md @@ -5,10 +5,11 @@ - **Milestone:** 1 - **Previously successfully merged evaluation:** All by keeganquigley -| Number | Deliverable | Specification | -| -----: | ----------- | ------------- | -| **0c.** | Methodology | Description of how the information was sourced. | -| **0e.** | Bibliography | List of sources | -| 1. | Article | The article can be found [here](https://hackmd.io/@pifragile/BkQKiNJqA)| +| Number | Deliverable | Accepted | Specification | +| -----: | ----------- | ------------- | ------------- +| **0c.** | Methodology |
  • [x]
| Description of how the information was sourced. | +| **0e.** | Bibliography |
  • [x]
| List of sources | +| 1. | Article |
  • [x]
| The article can be found [here](https://hackmd.io/@pifragile/BkQKiNJqA)| # General Notes + From 683a1cd908fbd1c4243ffdae4b95f86e0488059d Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Thu, 26 Sep 2024 15:29:17 -0400 Subject: [PATCH 67/69] Update ISO20022-Implementation-POC_1_keeganquigley.md --- evaluations/ISO20022-Implementation-POC_1_keeganquigley.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/evaluations/ISO20022-Implementation-POC_1_keeganquigley.md b/evaluations/ISO20022-Implementation-POC_1_keeganquigley.md index a58cc29b8..e4f27e84b 100644 --- a/evaluations/ISO20022-Implementation-POC_1_keeganquigley.md +++ b/evaluations/ISO20022-Implementation-POC_1_keeganquigley.md @@ -13,3 +13,5 @@ # General Notes +The article is well-written and outlines several viable solutions, with the [simple ISO pallet](https://hackmd.io/@pifragile/BkQKiNJqA#Simple-ISO-pallet) and [pure client](https://hackmd.io/@pifragile/BkQKiNJqA#Pure-client) standing out as perhaps the most practical options. I agree that either of these could also be valuable from a marketing perspective. Great job! + From 24f7801172ed50e6df606d9aef5e7c56a974109b Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Fri, 27 Sep 2024 10:34:33 -0400 Subject: [PATCH 68/69] Update ISO20022-Implementation-POC_1_keeganquigley.md --- evaluations/ISO20022-Implementation-POC_1_keeganquigley.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/evaluations/ISO20022-Implementation-POC_1_keeganquigley.md b/evaluations/ISO20022-Implementation-POC_1_keeganquigley.md index e4f27e84b..526d7e06f 100644 --- a/evaluations/ISO20022-Implementation-POC_1_keeganquigley.md +++ b/evaluations/ISO20022-Implementation-POC_1_keeganquigley.md @@ -1,7 +1,7 @@ # Evaluation - **Status:** Accepted -- **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/ISO20022.md +- **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/ISO20022-Implementation-POC.md - **Milestone:** 1 - **Previously successfully merged evaluation:** All by keeganquigley From 3e2cf22002bc6080ce54cdbc2dad24fc29376bd1 Mon Sep 17 00:00:00 2001 From: WookashWackomy Date: Fri, 4 Oct 2024 15:15:59 +0200 Subject: [PATCH 69/69] Typechain Revived Milestone 2 (#1212) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * milestone 2 * Update deliveries/typechain_revived_milestone_2.md Co-authored-by: Sebastian Müller * Update deliveries/typechain_revived_milestone_2.md --------- Co-authored-by: Sebastian Müller --- deliveries/typechain_revived_milestone_2.md | 27 +++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 deliveries/typechain_revived_milestone_2.md diff --git a/deliveries/typechain_revived_milestone_2.md b/deliveries/typechain_revived_milestone_2.md new file mode 100644 index 000000000..e5f1abe6a --- /dev/null +++ b/deliveries/typechain_revived_milestone_2.md @@ -0,0 +1,27 @@ +# Milestone Delivery :mailbox: + +**The delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).** + +- **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/typechain_revived.md +- **Milestone Number:** 2 + +**Context** +This milestone finalizes the updates for typechain polkadot project. It focused on enhancing compiler, bug fixing, addressing issues filed by the typechain community & final touchups. + +Current state is available here https://github.com/C-Forge/typechain-polkadot/tree/main + +**Deliverables** +https://github.com/C-Forge/typechain-polkadot/commit/221d891bf0f2ab63918a469bc8aaacf40579da79 + +| Number | Deliverable | Link | Notes | +| ------ | --------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0a. | License | MIT | - | +| 0b. | Documentation | [Documentation](https://github.com/C-Forge/typechain-polkadot/blob/main/docs/about.md) | Additionally each packages contains its own extensive README.md. | +| 0c. | Testing and Testing Guide | [Tests & Testing Guide](https://github.com/C-Forge/typechain-polkadot/tree/main/tests) | | +| 0d. | Article | [Article](https://github.com/C-Forge/typechain-polkadot/blob/main/docs/whats_new.md) | Covers improvements, reasonings behind them, as well as overall DX benefits. | +| **1** | SC Deployment code | [Changeset](https://github.com/C-Forge/typechain-polkadot/commit/221d891bf0f2ab63918a469bc8aaacf40579da79) | We will have simplified & enhanced usage of deployment classes. Code's API will be consulted with the community to ensure it fits its needs. | +| **2** | Improve Result/Error handling | [Changeset](https://github.com/C-Forge/typechain-polkadot/commit/221d891bf0f2ab63918a469bc8aaacf40579da79) | Fixed several bugs & implemented correct error decoding | +| **3** | Handle bugs & issues | [Fixed in](https://github.com/C-Forge/typechain-polkadot/commit/221d891bf0f2ab63918a469bc8aaacf40579da79) | Addressed all the issues and bugs we encountered while developing typechain & contributing to Abax Protocol/Governance. Additionally, we fixed all feature related issues from Brushfam's issue tracker https://github.com/Brushfam/typechain-polkadot/issues. | +| **4** | Incorporate Docker build into Typechain | [Implemented in](https://github.com/C-Forge/typechain-polkadot/commit/f15c78f224d2dbdaa3af770a4f13af1316bd5e59) | | + +**Additional Information**