Skip to content

Commit

Permalink
Create plutonication_4_ditavia-br.md
Browse files Browse the repository at this point in the history
  • Loading branch information
ditavia-br authored Jul 16, 2024
1 parent 31dbbf2 commit 6c68708
Showing 1 changed file with 105 additions and 0 deletions.
105 changes: 105 additions & 0 deletions evaluations/plutonication_4_ditavia-br.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@

# Evaluation

- **Status:** In Progress
- **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 | <ul><li>[x] </li></ul> | [Plutonication](https://github.com/RostislavLitovkin/Plutonication/blob/Grant-delivery-4/packages/extension/LICENSE) | MIT |
| 0b. | Documentation | <ul><li>[ ] </li></ul> | Documentation for building the Plutonication is in [Readme](https://github.com/RostislavLitovkin/Plutonication/blob/Grant-delivery-4/README.md). Inline documentation is also provided. | Some tests are failing, docker example does not work |
| 0c. | Testing and Testing Guide | <ul><li>[x] </li></ul> | 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 | <ul><li>[ ] </li></ul> | Not provided | Some examples with docker are not working |
| 0e. | Article | <ul><li>[x] </li></ul> | [Medium article](https://medium.com/@rostislavlitovkin/plutonication-cross-platform-connection-for-polkadot-wallets-a237c342d616) | |
| 1. | Plutonication Extension | <ul><li>[ ] </li></ul> | https://github.com/RostislavLitovkin/Plutonication/tree/Grant-delivery-4/packages/extension | Not fully evaluated yet |
| 1a. | inject(..) | <ul><li>[ ] </li></ul> | [inject](https://github.com/RostislavLitovkin/Plutonication/blob/4ee240477af659d83e724139f403544fdb2afb47/packages/extension/src/page.ts#L10) | Not fully evaluated yet |
| 1b. | onReceivePublicKey | <ul><li>[ ] </li></ul> | [onReceivePublicKey](https://github.com/RostislavLitovkin/Plutonication/blob/4ee240477af659d83e724139f403544fdb2afb47/packages/plutonication/src/PlutonicationDAppClient.ts#L46) | Not fully evaluated yet |
| 1c. | signPayloadAsync | <ul><li>[ ] </li></ul> | [signPayload](https://github.com/RostislavLitovkin/Plutonication/blob/4ee240477af659d83e724139f403544fdb2afb47/packages/plutonication/src/PlutonicationDAppClient.ts#L78) | Not fully evaluated yet |
| 1d. | payload_signature | <ul><li>[ ] </li></ul> | [payload_signature](https://github.com/RostislavLitovkin/Plutonication/blob/4ee240477af659d83e724139f403544fdb2afb47/packages/plutonication/src/PlutonicationDAppClient.ts#L83) | Not fully evaluated yet |
| 1e. | signRawAsync | <ul><li>[ ] </li></ul> | [signRaw](https://github.com/RostislavLitovkin/Plutonication/blob/4ee240477af659d83e724139f403544fdb2afb47/packages/plutonication/src/PlutonicationDAppClient.ts#L91) | Not fully evaluated yet |
| 1f. | raw_signature | <ul><li>[ ] </li></ul> | [raw_signature](https://github.com/RostislavLitovkin/Plutonication/blob/4ee240477af659d83e724139f403544fdb2afb47/packages/plutonication/src/PlutonicationDAppClient.ts#L96) | Not fully evaluated yet |
| 2. | Chrome browser extension | <ul><li>[ ] </li></ul> | Published to [Chrome web store](https://chromewebstore.google.com/detail/plutonication-extension-p/lndgpmicmhdhbmaebmghjjhaoglnaakl) | Not fully evaluated yet |


## 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
> [email protected] 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.<anonymous> (/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
> [email protected] 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.

0 comments on commit 6c68708

Please sign in to comment.