-
Notifications
You must be signed in to change notification settings - Fork 527
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'w3f:master' into master
- Loading branch information
Showing
7 changed files
with
1,359 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
# 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/polkadart_extension.md | ||
* **Milestone Number:** 1 | ||
|
||
**Context** | ||
|
||
We have divided this grant into two milestones: | ||
1 - Make a full developer-friendly documentation of what has been developed already | ||
2 - New features and more documentation | ||
|
||
Though this milestone was focused on documentation we have made significant progress into items from milestone 2: | ||
- https://github.com/leonardocustodio/polkadart/pull/489 | ||
- https://github.com/leonardocustodio/polkadart/pull/487 | ||
|
||
And that's the reason it took more time than antecipated to submit this milestone. | ||
|
||
We have made a documentation focused website that can be accessed at https://polkadart.dev | ||
The documentation repository is also public and accepts contributions from any developer, located at: https://github.com/polkadart/docs | ||
|
||
**Deliverables** | ||
|
||
| Number | Deliverable | Link | Notes | | ||
| ------------- | ------------- | ------------- |------------- | | ||
| 0a. | License | https://github.com/polkadart/docs/blob/main/LICENSE | | | ||
| 0b. | Documentation | https://polkadart.dev | | | ||
| 1a. | API docs | https://polkadart.dev/api/overview | | | ||
| 1c. | API examples | https://polkadart.dev/api/state/#sample-usage | | | ||
| 2a. | Metadata docs | https://polkadart.dev/metadata/overview | | | ||
| 2b. | Metadata examples | https://polkadart.dev/metadata/overview/#example-stateapi | | | ||
| 3a. | Keyring docs | https://polkadart.dev/keyring-signer/overview | | | ||
| 3b. | Keyring examples | https://polkadart.dev/keyring-signer/keypair | | | ||
| 1d. | API faq | http://polkadart.dev/guides/listen-blocks | | | ||
| 2c. | Metadata faq | https://polkadart.dev/guides/read-storage | | | ||
| 3c. | Keyring faq | http://localhost:4321/guides/make-transfer | | | ||
|
||
We have renamed the `Metadata` section to `Blockchain API` the reason for that is that our `polkadart_cli` tool uses the metadata to generate all interfaces to each network. | ||
We have replaced `FAQs` by `Guides` as we don't really have any "frequently asked questions" being asked right now. Each of those shows common use-cases that people would "ask how to do it" in each of those areas. | ||
|
||
**Additional Information** | ||
|
||
We have been investing a good amount of time in making the documentation as good as possible. We believe that just like polkadot.wiki a good well-structured, clean, and easy to follow documentation is more important than just a huge amount of information that people can't follow. If the person only wants access to reference we have provided references to all methods/apis from every package in the website as well. Finally, we are starting to setup a community to help people to use Polkadart, we have setup a dev group at https://t.me/polkadart which can be used for doubts or help. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,60 @@ | ||
# Evaluation | ||
|
||
|
||
- **Status:** in progress | ||
- **Status:** Accepted | ||
- **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/DAOsign.md | ||
- **Milestone:** 2 | ||
- **Previously successfully merged evaluation:** All by PieWol | ||
- **Previously successfully merged evaluation:** PieWol | ||
|
||
| Number | Deliverable | Accepted | Link | Notes | | ||
| ------------- | ------------- | ------------- | ------------- | ------------- | | ||
| 0a. | License | <ul><li>[x] </li></ul> | [LICENSE](https://github.com/DAOsign/daosign-ink-js-sdk/blob/main/LICENSE) | Apache 2.0 | | ||
| 0b. | Documentation | <ul><li>[x] </li></ul> | [Readme](https://github.com/DAOsign/daosign-ink-js-sdk/blob/main/README.md) | | | ||
| 0c. | Testing and Testing Guide | <ul><li>[x] </li></ul> | https://github.com/DAOsign/daosign-ink-js-sdk?tab=readme-ov-file#testing | | | ||
| 0d. | Docker | <ul><li>[x] </li></ul> | https://github.com/DAOsign/polkadot-smart-contracts?tab=readme-ov-file#with-docker | | ||
| 1. | DAOsign Ink! JS SDK | <ul><li>[x] </li></ul> | [Github Repo](https://github.com/DAOsign/daosign-ink-js-sdk), [npm package](https://www.npmjs.com/package/@daosign/polkadot) | | | ||
| 2. | DAOsign Application Integration | <ul><li>[x] </li></ul> | [Github Repo](https://github.com/DAOsign/frontend) | | ||
| 0b. | Documentation | <ul><li>[x] </li></ul> | [Readme](https://github.com/DAOsign/daosign-ink-js-sdk/blob/main/README.md) | Readme could be updated. | | ||
| 0c. | Testing and Testing Guide | <ul><li>[x] </li></ul> | https://github.com/DAOsign/daosign-ink-js-sdk?tab=readme-ov-file#testing | All passing. | | ||
| 0d. | Docker | <ul><li>[x] </li></ul> | https://github.com/DAOsign/polkadot-smart-contracts?tab=readme-ov-file#with-docker | Ok. | ||
| 1. | DAOsign Ink! JS SDK | <ul><li>[x] </li></ul> | [Github Repo](https://github.com/DAOsign/daosign-ink-js-sdk), [npm package](https://www.npmjs.com/package/@daosign/polkadot) | Ok. | | ||
| 2. | DAOsign Application Integration | <ul><li>[x] </li></ul> | [Github Repo](https://github.com/DAOsign/frontend) | Ok. | ||
|
||
# General Notes | ||
|
||
Passed but for the next milestone consider writing some better docs. | ||
|
||
~~Only two unit tests.~~ | ||
|
||
UPDATE: All unit tests now passing with good coverage: | ||
|
||
```ts | ||
PASS __tests__/DaosignPolkadotContractInteractor.test.ts (6.888 s) | ||
numberToArray | ||
✓ should correctly convert positive numbers (3 ms) | ||
✓ should correctly handle zero (1 ms) | ||
✓ should correctly convert large numbers (1 ms) | ||
✓ should throw an error for numbers exceeding maximum safe integer (13 ms) | ||
✓ should throw an error for negative numbers | ||
sendTransaction | ||
✓ should send a transaction successfully with valid parameters (16 ms) | ||
✓ should handle transaction failure gracefully | ||
✓ should handle insufficient funds and network errors gracefully (1 ms) | ||
Proof storage functions | ||
✓ should store proof of authority successfully with valid parameters (2 ms) | ||
✓ should store proof of signature successfully with valid parameters (1 ms) | ||
✓ should store proof of agreement successfully with valid parameters (1 ms) | ||
✓ should fail storing proof of authority with invalid parameters (1 ms) | ||
✓ should fail storing proof of signature with invalid parameters (1 ms) | ||
✓ should fail storing proof of agreement with invalid parameters (1 ms) | ||
✓ should handle network issues or contract errors in proof storage | ||
Check wallet balance | ||
✓ should get account balance successfully (29 ms) | ||
✓ should throw an error if account balance retrieval fails (13 ms) | ||
|
||
----------|---------|----------|---------|---------|------------------- | ||
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s | ||
----------|---------|----------|---------|---------|------------------- | ||
All files | 93.1 | 75 | 92.3 | 92.72 | | ||
index.ts | 93.1 | 75 | 92.3 | 92.72 | 72-75,116 | ||
----------|---------|----------|---------|---------|------------------- | ||
Test Suites: 1 passed, 1 total | ||
Tests: 17 passed, 17 total | ||
Snapshots: 0 total | ||
Time: 6.969 s | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# Evaluation | ||
|
||
- **Status:** accepted | ||
- **Application Document:** [P2P State Channels](https://github.com/w3f/Grants-Program/blob/master/applications/P2PStateChannels.md) | ||
- **Milestone:** 1 | ||
- **Previously successfully merged evaluation:** All by PieWol | ||
|
||
| Number | Deliverable | Accepted | Link | Evaluation Notes | | ||
| ------ | ----------- | :------: | ---- |----------------- | | ||
| **0a.** | License | <ul><li>[x] </li></ul> | [License file](https://github.com/peer3to/state-channels-plus/blob/master/LICENSE) | MIT, compiling the solidity contracts emits warnings about unspecified licenses. | | ||
| **0b.** | Documentation | <ul><li>[x] </li></ul> |https://github.com/peer3to/state-channels-plus/blob/master/docs/mfsDocs.md | ok | | ||
| **0c.** | Testing and Testing Guide | <ul><li>[x] </li></ul> | https://github.com/peer3to/state-channels-plus/tree/master/test | ok | | ||
| **0d.** | Docker | <ul><li>[x] </li></ul> | https://github.com/peer3to/state-channels-plus/blob/master/Dockerfile | works | | ||
| **1** | Channel Opening | <ul><li>[x] </li></ul> | https://github.com/peer3to/state-channels-plus/blob/db81f2bb11a032a2e4678b98ceed9f7944477325/examples/TicTacToe/contracts/TicTacToe/TicTacToeStateChannelManagerProxy.sol#L23 , [interface](https://github.com/peer3to/state-channels-plus/blob/master/contracts/V1/StateChannelManagerInterface.sol) | ok | | ||
| **2** | Cryptography | <ul><li>[x] </li></ul> | https://github.com/peer3to/state-channels-plus/blob/master/contracts/V1/StateChannelDiamondProxy/StateChannelUtilLibrary.sol | ok | | ||
| **3** | Liveness | <ul><li>[x] </li></ul> | https://github.com/peer3to/state-channels-plus/blob/db81f2bb11a032a2e4678b98ceed9f7944477325/examples/TicTacToe/contracts/TicTacToe/TicTacToeStateChannelManagerProxy.sol#L23 | ok | | ||
|
||
|
||
|
||
## General Notes | ||
Looks good, all tests are passing and all deliverables have been achieved. Thanks! A lot of files could use some more expressive inline documentation. I'm hopeful that this will be improved in the future. | ||
I'd love to see a PVM integration. | ||
|
||
## tests | ||
all tests passing | ||
```` | ||
31 passing (11s) | ||
```` |
Oops, something went wrong.