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
Fiono11 authored Nov 17, 2024
2 parents 13bb581 + 62ecc82 commit 56ccf27
Show file tree
Hide file tree
Showing 38 changed files with 6,895 additions and 2 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/google_sheet_update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ jobs:
"${{ steps.parse-delivery.outputs.milestone_number }}",
"",
"Not Yet",
"=INDEX(Legal!$W$2:$W,MATCH(INDIRECT(CONCATENATE(\"B\", TEXT(ROW(), \"#\"))),Legal!$D$2:$D,0))",
"=INDEX(Legal!$X$2:$X,MATCH(INDIRECT(CONCATENATE(\"B\", TEXT(ROW(), \"#\"))),Legal!$D$2:$D,0))",
"${{ github.event.pull_request.html_url }}",
"",
"${{ steps.date.outputs.date }}",
Expand Down
38 changes: 38 additions & 0 deletions deliveries/DAOsign-milestone_2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# 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:** [DAOsign](https://github.com/w3f/Grants-Program/blob/master/applications/DAOsign.md)
* **Milestone Number:** 2

**Context** (optional)
> In this milestone DaoSign deliveries JS/Typescript library to simplify interacting with DaoSign smart contract.
**Deliverables**


| Number | Deliverable | Link | Notes |
| ------------- | ------------- | ------------- |------------- |
| 0a. | License | [LICENSE](https://github.com/DAOsign/daosign-ink-js-sdk/blob/main/LICENSE) | Apache 2.0 |
| 0b. | Documentation | [Readme](https://github.com/DAOsign/daosign-ink-js-sdk/blob/main/README.md) | Instructions how to isntall library and how use it to store DaoSign proofs on-chain |
| 0c. | Testing and Testing Guide | https://github.com/DAOsign/daosign-ink-js-sdk?tab=readme-ov-file#testing | Unit tests to ensure functionality and robustness. The guide describe how to run these tests. |
| 0d. | Docker | https://github.com/DAOsign/polkadot-smart-contracts?tab=readme-ov-file#with-docker | Dockerfile(s) that can be used to test all the functionality
| 1. | DAOsign Ink! JS SDK | [Github Repo](https://github.com/DAOsign/daosign-ink-js-sdk), [npm package](https://www.npmjs.com/package/@daosign/polkadot) | |
| 2. | DAOsign Application Integration | [Github Repo](https://github.com/DAOsign/frontend) | DaoSign Frontend Application with Polkadot Smart Contract integration


**Additional Information**

Here is example of DaoSign agreement proofs stored on Polkadot-based chain: https://app.dev.daosign.org/agreement/386869b1-af98-4be4-b582-d07b6bea9c07

You can click on Proofs:

![image](https://github.com/user-attachments/assets/4969b0cf-f16e-4f28-8de8-ce67f9150775)

Popup will appear:

![image](https://github.com/user-attachments/assets/9cd7c846-5726-4d09-a5df-0989c177f69a)

And then click on the [link](https://alephzero-testnet.subscan.io/extrinsic/0x8369934f419b3cc990466d0e856bb5a3565ce21389f74fe5cc9de1ad0e4e8fa0) and you will see transaction on block explorer.
32 changes: 32 additions & 0 deletions deliveries/Plutonication_milestone_4.md
Original file line number Diff line number Diff line change
@@ -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.
18 changes: 18 additions & 0 deletions deliveries/Solang_Playground-milestone_3.md
Original file line number Diff line number Diff line change
@@ -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 <br> -Demo: https://drive.google.com/file/d/1LL6LuPbAvg8r_hCWeWop2Gl_tvgy_KpI/view?usp=sharing <br> -amd64 docker image: https://hub.docker.com/repository/docker/salaheldin18/solang-playground-amd64 .<br> You can find a link to the hosted editor in the repo's readme |
33 changes: 33 additions & 0 deletions deliveries/TuxedoDApp_Milestone_1.md
Original file line number Diff line number Diff line change
@@ -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:** <https://github.com/w3f/Grants-Program/blob/master/applications/TuxedoDapp.md>
* **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: <https://github.com/Off-Narrative-Labs/Tuxedo/commit/80e7b5720a384907cef89e091034fff3fe0f2b7f>
2. Metadata analysis and design/experiments: <https://github.com/Off-Narrative-Labs/Tuxedo/issues/30#issuecomment-1920539885>
41 changes: 41 additions & 0 deletions deliveries/TuxedoDApp_Milestone_2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# 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/blob/master/applications/TuxedoDapp.md>
* **Milestone Number:** 2

**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 potentiality of a real business case of UTXO paradigm on Polkadot.

In this conclusive milestone of the project, we will demo the overall solution with every single component we built (frontend, web service, swagger restful API contracts and the CLI-wallet extended). We will include our comments on how this product could have been built by adopting an EVM-based chain and also another UTXO-based chain backed by smart contracts.

**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 | [Wiki](https://github.com/mlabs-haskell/TuxedoDapp/wiki) | Info about APIs spreadsheet, Build and run the project, DApp specification, Frontend development libs, Game design, Talisman wallet, Wireframes |
| **0c.** | Testing and Testing Guide | [Kitty Piece test](https://github.com/mlabs-haskell/Tuxedo/blob/main/wardrobe/kitties/src/tests.rs) , [Tradable Kitty Piece test](https://github.com/mlabs-haskell/Tuxedo/blob/main/wardrobe/tradable_kitties/src/tests.rs) , [Tuxedo Template Wallet](https://github.com/mlabs-haskell/Tuxedo/blob/main/wallet/README.md) , [APIs test](https://github.com/mlabs-haskell/Tuxedo/tree/main/webservice-wallet#rest-documentation) | We included our tests done for the CLI-Wallet, they can be executed using the Tuxedo documentation in the README. We did tests also for the APIs |
| **0d.** | Article | [Demo frontend, web service, swagger restful API contracts](https://www.loom.com/share/4445b97dddd8447c8ccafa3b9cea6bb6), [Demo - CLI-wallet - part 1/3](https://youtu.be/Mom3BV_HozY), [Demo - CLI-wallet - part 2/3](https://youtu.be/GfyiBW1XFW0), [Demo - CLI-wallet - part 3/3](https://youtu.be/1T2oE0bfaCQ), [GitHub project management tool](https://github.com/orgs/mlabs-haskell/projects/57/views/1) | This video shows every single component we built including the Talisman integration. The GitHub PM tool tracked the amount of work done across different developers |
| **0e.** | Docker | [webservice-wallet](https://github.com/mlabs-haskell/Tuxedo/blob/webservice-redeemer-gen-debug-with-lks/webservice-wallet/Dockerfile) | For the Web wallet integration docker is not needed, however, we included the one used for the webservice |
| **0f.** | Frontend, CLI wallet and core, Backend | [main DApp repo](https://github.com/mlabs-haskell/TuxedoDapp), [CLI Wallet and core repo](https://github.com/mlabs-haskell/Tuxedo), [Webservice APIs](https://github.com/mlabs-haskell/Tuxedo/tree/webservice-redeemer-gen-debug-with-lks/webservice-wallet) | We integrated Talisman and created a Dapp with the business logic in the backend that uses the UTXO model to send money and Kitties. For the same purposes, users could also use the CLI-wallet we extended. |
| **0g.** | Personalized Dashboard | Video showed at 0d | A personal dashboard for users to view and manage their NFT-based kitty collections. Display detailed information about each NFT, including ownership and other details such as parents, dna, Tradable status, Price, etc |


##

**Additional Information**

We did a [short comparative analysis](https://docs.google.com/document/d/1kdYA9Jd100p91t9okjYncLZw_Qn6guo2Bm032mko3DU/edit?usp=sharing) of the development of the same application adopting EVM-based and Cardano (eUTXO) versus Tuxedo.
Moreover, it underscores the potential for Tuxedo's ongoing development to become a robust platform for creating UTXO Dapps on Polkadot.

Additional extra work outside the scope of the grant:

1. Mint_coin: <https://github.com/Off-Narrative-Labs/Tuxedo/commit/80e7b5720a384907cef89e091034fff3fe0f2b7f>
2. Metadata analysis and design/experiments: <https://github.com/Off-Narrative-Labs/Tuxedo/issues/30#issuecomment-1920539885>
3. Complete CLI-wallet implementation for Kitties/Tradable kitties: <https://github.com/mlabs-haskell/Tuxedo/blob/main/wallet/src/kitty.rs>
4. Cryptokitties development: A comparative analysis between EVM - Cardano - Tuxedo/Polkadot: <https://docs.google.com/document/d/1kdYA9Jd100p91t9okjYncLZw_Qn6guo2Bm032mko3DU/edit?usp=sharing>
Loading

0 comments on commit 56ccf27

Please sign in to comment.