Skip to content

Commit

Permalink
Merge branch 'w3f:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
rbrandao authored Jul 21, 2023
2 parents 83a6b0a + e2dacd2 commit 5232a4e
Show file tree
Hide file tree
Showing 104 changed files with 11,367 additions and 106 deletions.
3 changes: 2 additions & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
- [x] The [milestone-delivery-template.md](https://github.com/w3f/Grant-Milestone-Delivery/blob/master/deliveries/milestone-delivery-template.md) has been copied and updated.
- [ ] The [invoice form :pencil:](https://forms.gle/LSRr7PCjBpEbKGh89) has been filled out for this milestone.
- [ ] This pull request is being made by the same account as the accepted application.
- [ ] I have disclosed any and all sources of reused code in the submitted repositories and have done my due diligence to meet its license requirements.
- [ ] In case of acceptance, the payment will be transferred to the BTC/ETH/fiat account provided in the application.
- [ ] The delivery is according to the [Guidelines for Milestone Deliverables](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).
- [ ] The delivery is according to the [Guidelines for Milestone Deliverables](https://grants.web3.foundation/docs/Support%20Docs/milestone-deliverables-guidelines).

Link to the application pull request: https://github.com/w3f/Grants-Program/pull/XXX < please fill this in with the PR number of your application.
3 changes: 1 addition & 2 deletions .github/workflows/google_sheet_update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,13 +103,12 @@ jobs:
"${{ steps.parse-delivery.outputs.milestone_number }}",
"",
"Not Yet",
"=IFERROR(SWITCH(INDIRECT(ADDRESS(ROW(),COLUMN()-1)), \"Not Yet\", 4, \"In Progress\", 3, \"Asked for Changes\", 2, \"Final Check\", 3, \"Final Warning\", 3, \"Done\", 0, \"Terminated\", 0, \"On Hold\", 1))",
"=INDEX(Legal!$W$2:$W,MATCH(INDIRECT(CONCATENATE(\"B\", TEXT(ROW(), \"#\"))),Legal!$D$2:$D,0))",
"${{ github.event.pull_request.html_url }}",
"",
"${{ steps.date.outputs.date }}",
"",
"=IF(ISNUMBER(INDIRECT(ADDRESS(ROW(),11))),INDIRECT(ADDRESS(ROW(),11))-INDIRECT(ADDRESS(ROW(),10)),\"\")",
"=IF(ISNUMBER(INDIRECT(ADDRESS(ROW(),COLUMN()-1))),INDIRECT(ADDRESS(ROW(),COLUMN()-1))-INDIRECT(ADDRESS(ROW(),COLUMN()-2)),\"\")",
"=IF(INDIRECT(ADDRESS(ROW(),5))=\"Done\",VLOOKUP(INDIRECT(ADDRESS(ROW(),2)),Milestones!B:BE,SWITCH(INDIRECT(ADDRESS(ROW(),3)),1,19,2,23,3,27,4,31,5,35,6,39,7,43,8,47,9,51,10,55),FALSE),\"\")",
"=IF(INDIRECT(ADDRESS(ROW(),5))=\"Done\",VLOOKUP(INDIRECT(ADDRESS(ROW(),2)),Milestones!B:BE,SWITCH(INDIRECT(ADDRESS(ROW(),3)),1,20,2,24,3,28,4,32,5,36,6,40,7,44,8,48,9,52,10,56),FALSE),\"\")"
]],
Expand Down
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@

## :mailbox: Milestone Delivery Process

The milestone delivery process is part of the [W3F Grants Program](https://github.com/w3f/Grants-Program). You can find the application process [here](https://github.com/w3f/Grants-Program/blob/master/README.md#pencil-process).
The milestone delivery process is part of the [W3F Grants Program](https://github.com/w3f/Grants-Program). You can find the application process [here](https://grants.web3.foundation/docs/Process/how-to-apply).

:warning: Before you submit a milestone, make sure it complies with our [Guidelines for Milestone Deliverables](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).
:warning: Before you submit a milestone, make sure it complies with our [Guidelines for Milestone Deliverables](https://grants.web3.foundation/docs/Support%20Docs/milestone-deliverables-guidelines).

1. **Milestone Delivery:**
1. [Fork](https://github.com/w3f/Grant-Milestone-Delivery/fork) this repository with the **same GitHub account** that you used to submit the application (ignore if you applied privately).
Expand All @@ -26,13 +26,13 @@ The milestone delivery process is part of the [W3F Grants Program](https://githu
5. Fill out the [invoice form](https://forms.gle/LSRr7PCjBpEbKGh89).
6. Create a pull request and fill out the comment template.
2. **Milestone Review:**
1. [Evaluators](https://github.com/w3f/Grants-Program#team) can (and usually do) issue comments and request changes on the pull request. Their feedback needs to be resolved before your milestone is accepted.
1. [Evaluators](https://grants.web3.foundation/docs/Introduction/team#w3f-grants-committee) can (and usually do) issue comments and request changes on the pull request. Their feedback needs to be resolved before your milestone is accepted.
2. Grants Evaluators will merge your pull request to accept the delivery.
3. **Milestone Payment:**
1. The [operations team](https://github.com/w3f/Grants-Program#team) receives a notification once the delivery is accepted. Payments are usually processed within 14 days.
1. The [operations team](https://grants.web3.foundation/docs/Introduction/team#w3f-operations-team) receives a notification once the delivery is accepted. Payments are usually processed within 14 days.
2. Payment is made to the bank account or Bitcoin, Polkadot, Kusama or Ethereum address specified in the initial application. The exchange rate for BTC depends on the time of payment.

Grant applications can be [amended](https://github.com/w3f/Grants-Program#changes-to-a-grant-after-approval) at any time. However, this _necessitates a reevaluation by the committee_. If your application has been accepted and, during development, you find that your project significantly deviates from the original specification, please open a new pull request that modifies the existing application.
Grant applications can be [amended](https://grants.web3.foundation/docs/Process/changes) at any time. However, this _necessitates a reevaluation by the committee_. If your application has been accepted and, during development, you find that your project significantly deviates from the original specification, please open a new pull request that modifies the existing application.

## :ballot_box_with_check: External Evaluations

Expand All @@ -51,9 +51,9 @@ As part of the grant program, we allow everyone to participate in the evaluation
2. In the newly created fork, create a **copy** of the evaluation template ([`evaluations/evaluation-template.md`](evaluations/evaluation-template.md)).
3. Name the file `project-name_milestone-number_your-github-username.md`.
4. Fill out the template with the specifics of your evaluation. The higher the quality of your assessment and the level of detail, the higher the KSM recompense.
5. Once you have completed the evaluation, create a pull request in the [W3F Grants Delivery](https://github.com/w3f/Grant-Milestone-Delivery) repo.
5. Once you have completed the evaluation, create a pull request in this repository.
6. Add a comment or review to the pull request that contains the evaluated milestone delivery. This comment should contain a quick summary of your finding as well as link to the milestone submission.
7. Milestone evaluations are double-checked by [W3F Grants Evaluators](https://github.com/w3f/Grants-Program#team). Successful milestone evaluations are merged and the evaluator is rewarded with KSM.
7. Milestone evaluations are double-checked by [W3F Grants Evaluators](https://grants.web3.foundation/docs/Introduction/team#w3f-grants-committee). Successful milestone evaluations are merged and the evaluator is rewarded with KSM.

## :bulb: Help

Expand Down
29 changes: 29 additions & 0 deletions deliveries/Awesome-Polka-1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# 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:** https://github.com/w3f/Grants-Program/tree/master/applications/Awesome-Polka.md
* **Milestone Number:** 1

**Context**
This milestone includes the functionality of the public part of the platform and the design of the project owner dashboard, as stated in the contract, normal users and project owners can use the platform.

**Deliverables**

| Number | Deliverable | Link | Notes |
| ------------- | ------------- | ------------- |------------- |
| **0a.** | License | [MIT](https://github.com/tolgayayci/awesome-polka/blob/dev/LICENSE) | License Added to All Branches |
| **0b.** | Documentation | [Awesome Polka Docs](https://docs.awesomepolka.org/docs/awesome-polka/getting-started) | Base documentation provided, in near time this will be enhanced with examples and use cases. |
| **0c.** | Testing and Testing Guide | [Guide](https://docs.awesomepolka.org/docs/technical-details/testing) | API Tests & End to End tests are completed with a few users, also in this link you can see form validation tests. For future, hooks and api tests will be included in this page. |
| **0e.** | Article | [Documentation Includes](https://docs.awesomepolka.org/docs/awesome-polka/getting-started) | Documentation like a kind of article about how to use this platform. |
| **1.** | UI & UX Development | **Home Page:** [Link](https://awesomepolka.org) <br /><br /> **Projects Page:** [Link](https://awesomepolka.org/projects)</br></br>**Project Detail Page:** [Link](https://awesomepolka.org/projects/awesome-polka)<br /></br>**Articles Page:** [Link](https://awesomepolka.org/articles)<br /></br>**Article Detail Page:** [Link](https://awesomepolka.org/articles/09885b15-3a16-478f-aa2f-d6929d2f05c8)<br /></br>**Ranking Page:** [Link](https://awesomepolka.org/ranking)</br></br> **Learn Page:** [Link](https://awesomepolka.org/learn)</br></br> **UX Improvements & Testing:** [Link](https://docs.awesomepolka.org/docs/technical-details/testing)| All pages that designed for milestones are completed, you can visit links to verify, ux improvements will be continue in future stages. | ... |
| *2.* | Project Owner Dashboard | [Dashboard Link](https://awesomepolka.org/dashboard/project) | You **must have an account** to use this dashboard. If you have an account, a "Dashboard" link appears in the footer of the site and you can access the dashboard by clicking this link. To request an account, click on the "Submit Project" on the main page or directly [this link](https://ts6prh04a2p.typeform.com/to/L4jpfJKl), after your membership is defined, you will receive an e-mail and you can start testing the dashboard.</br>|

**Additional Information**
Although milestones of the project have been completed, it will continue to be actively developed, I will publish a report stating its status in the next two quarters.

I would like to offer a more detailed infrastructure for testing, but you can test it by using the platform in the easiest way, while everyone can view the public part, I will authorize you when you fill out the form for the project owner dashboard, so you can try this dashboard.

Api key of many platforms such as algolia, aws, thirdweb, coinbase cloud is required to set up a test infrastructure from start to finish, so a partial test report has been published to make things easier.

Main domain currently lists dev branch but after approval I will push a clean main branch and we will start from scratch with new projects, so you can tamper with it as you wish, these changes will not be visible in prod version.
37 changes: 37 additions & 0 deletions deliveries/CoongWallet-Milestone_2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# 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:** [Coong Wallet](https://github.com/w3f/Grants-Program/blob/master/applications/coong_wallet.md)
* **Milestone Number:** 2

**Deliverables**
| Number | Deliverable | Link | Notes |
| -----: | ----------- | ------------- | ------------- |
| **0a.** | License | [Apache 2.0](https://github.com/CoongCrafts/coong-wallet/blob/w3f-milestone-2/LICENSE) |
| **0b.** | Documentation | - [README](https://github.com/CoongCrafts/coong-wallet/blob/w3f-milestone-2/README.md)<br/>- [Live Working Application](https://app.coongwallet.io/)<br/>- [Example Dapp](https://dapp.coongwallet.io) to demonstrate interactions<br/> - [Integration instruction](https://github.com/CoongCrafts/coong-wallet/blob/w3f-milestone-2/README.md#integrate-coong-wallet-into-your-dapps) | |
| **0c.** | Testing and Testing Guide | [How to run tests](https://github.com/CoongCrafts/coong-wallet/tree/w3f-milestone-2#how-to-run-tests) |
| **0d.** | Docker | - [Dockerfile](https://github.com/CoongCrafts/coong-wallet/blob/w3f-milestone-2/Dockerfile)<br/>- [How to run the app on Docker](https://github.com/CoongCrafts/coong-wallet/blob/w3f-milestone-2/README.md#run-it-on-docker) |
| 0e. | Article | [Link](https://docs.google.com/document/d/1nZUzetDZvLReof3easrRvR5HQSpjags-XShYj55gJEo/edit?usp=sharing) | We are still polishing the content and will publish this article after the milestone is accepted |
| 1. | Wallet App / Additional features | We've implemented the following features for the wallet app:<br/>- [Sign raw message](https://github.com/CoongCrafts/coong-wallet/blob/w3f-milestone-2/packages/ui/src/components/pages/Request/RequestSigning/RequestSignRawMessage.tsx) <br/> - [Import existing wallet](https://github.com/CoongCrafts/coong-wallet/tree/w3f-milestone-2/packages/ui/src/components/pages/SetupWallet/RestoreWallet) <br/> - [Forget wallet password / Reset wallet](https://github.com/CoongCrafts/coong-wallet/blob/w3f-milestone-2/packages/ui/src/components/shared/buttons/ForgotPasswordButton.tsx) <br/> - [Account controls](https://github.com/CoongCrafts/coong-wallet/tree/w3f-milestone-2/packages/ui/src/components/pages/Accounts/AccountControls) <br/> - [Export wallet](https://github.com/CoongCrafts/coong-wallet/blob/w3f-milestone-2/packages/ui/src/components/shared/menu/ExportWalletDialog.tsx) <br/> - [Import account from QR Code, JSON file](https://github.com/CoongCrafts/coong-wallet/blob/w3f-milestone-2/packages/ui/src/components/shared/menu/ImportAccountDialog/index.tsx) <br/> - [Manage Dapps Access](https://github.com/CoongCrafts/coong-wallet/blob/w3f-milestone-2/packages/ui/src/components/shared/settings/ManageDappAccessDialog/index.tsx) <br/> - [Settings](https://github.com/CoongCrafts/coong-wallet/blob/w3f-milestone-2/packages/ui/src/components/shared/settings/SettingsWalletDialog/index.tsx) <br/> |
| 2. | Demo Dapp | - [Source Code](https://github.com/CoongCrafts/playground-dapp)<br/> - https://dapp.coongwallet.io | 🚀 Don't forget to try out the dapp on your mobile/tablet browsers to see the advantage of CoongWallet over extension-based wallets 😃 |

**Additional Information**
- Known issues mentioned in [Milestone 1](https://github.com/CoongCrafts/coong-wallet/tree/w3f-milestone-1#known-issues)
- `Blocking third party cookies issue`:
- Requiring users to disable the "Block third-party cookies" setting in their browser would make the website-based wallet experience (UX, API) similar to extension-based wallets. But this approach poses certain tradeoffs.
+ Firstly, it violates users' privacy as they likely might not want to disable this setting and be tracked by social media platforms and other services.
+ Secondly, each browser (both on mobile and desktop) has its own unique method of enabling or disabling this setting. Consequently, providing custom instructions for each browser would complicate the user experience and onboarding process for new users. As our purpose is to create a more user-friendly onboarding experience, we strive to avoid complex instructions during this process.
- Therefore, we have decided to take a different approach to address this issue.
+ We will no longer initiate or append an embedded iframe of the wallet within the dapp, eliminating the need to deal with the "Block third-party cookies" issue.
+ Instead, we will utilize first-party localStorage (dapp's localStorage) to store granted information (connected accounts). Additionally, we will introduce extra APIs to (1) allow users to add or remove (update) their granted information within the dapp and (2) clear granted information when users want to sign out of the dapp. This alternative approach requires some additional handling for developers during the integration of Coong Wallet into the dapp. However, for users, they will no longer need to toggle browser settings, resulting in a seamless onboarding experience.
- `Blocking popups issue` when calling API that opens a Coong Wallet window/popup (asking for user's consent, signing transaction)
- This issue might happen for actions that are running asynchronously or take a bit of time to complete.
- To prevent this from happening, we introduce an API that allows developers to open a waiting wallet window/popup (`CoongSdk.newWaitingWalletInstance()`) ready to send messages to later, so developers can call this API first thing on users interaction (click/touch) before calling any asynchronous tasks.
- More on this can be found [here](https://github.com/CoongCrafts/coong-wallet/tree/w3f-milestone-2#prevent-blocking-popups-issue)
- Example integration for [transfering balance](https://github.com/CoongCrafts/playground-dapp/blob/a6072c80fe5dfd263c1b4bcbe44423cdda9798b2/src/components/TransferBalanceButton.tsx#L93-L99), [demo dapp](https://dapp.coongwallet.io/)
- As for the `Manage & decode metadata feature` mentioned in [milestone 1 delivery](https://github.com/w3f/Grant-Milestone-Delivery/blob/master/deliveries/CoongWallet-Milestone_1.md), due to timing constraints as we're changing approach to solve the known issues mentioned above, we don't have any extra time left to address this. So we decided to working on this in the future outside the scope of this grant.
- As for the `Import account from Private Key`: This feature was mentioned in the proposal but make more senses to implement when we have support for EVM accounts to allow users to transfering account using Private Key exported from MetaMask. So we decided to put this on hold until we implement EVM accounts support for the wallet. Let us know if we need to make an amendment PR to remove this from the proposal.
- Demo videos
- Dapp x Wallet Interaction on Desktop: https://youtu.be/9fIcAlpx_UI
- Dapp x Wallet Interaction on Mobile: https://youtu.be/F8S2fmQFRWQ
Loading

0 comments on commit 5232a4e

Please sign in to comment.