Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Profond-Milestone_2.md #1068

Merged
merged 2 commits into from
Dec 20, 2023
Merged

Add Profond-Milestone_2.md #1068

merged 2 commits into from
Dec 20, 2023

Conversation

emarai
Copy link
Contributor

@emarai emarai commented Nov 21, 2023

Milestone Delivery Checklist

  • The milestone-delivery-template.md has been copied and updated.
  • 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, an invoice must be submitted and the payment will be transferred to the Polkadot/fiat account provided in the application.
  • The delivery is according to the Guidelines for Milestone Deliverables.

Link to the application pull request: w3f/Grants-Program#1682

@semuelle semuelle self-assigned this Nov 29, 2023
Copy link
Member

@semuelle semuelle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @emarai, thanks for the delivery. I am looking through the deliverables and have a few questions.

  • According to the grant application, the article should cover "the analytics and API usage", but it's mostly just showing screenshots and talking about selling tokens. It would be great if you could create a more technical article that explains and walks through what was done as part of the grant and how users can leverage it.
  • I'm not familiar with Metabase at all. Could you add what is required to set up Metabase/postgres to the testing instructions to get the project to run locally?
  • The frontend on profond.ai doesn't react to my wallet selection in Firefox.
  • It also doesn't respect my network decision. It always creates a transaction for Shibuya.
  • What is the data displayed in the analytics tab? I expected some real, live data there.

@emarai
Copy link
Contributor Author

emarai commented Dec 1, 2023

Hey @emarai, thanks for the delivery. I am looking through the deliverables and have a few questions.

  • According to the grant application, the article should cover "the analytics and API usage", but it's mostly just showing screenshots and talking about selling tokens. It would be great if you could create a more technical article that explains and walks through what was done as part of the grant and how users can leverage it.
  • I'm not familiar with Metabase at all. Could you add what is required to set up Metabase/postgres to the testing instructions to get the project to run locally?
  • The frontend on profond.ai doesn't react to my wallet selection in Firefox.
  • It also doesn't respect my network decision. It always creates a transaction for Shibuya.
  • What is the data displayed in the analytics tab? I expected some real, live data there.

Hey @semuelle thanks for the review, we will provide the article, docs, and fix the bugs that you mentioned

@semuelle
Copy link
Member

Any news here, @emarai?

@ekkirinaldi
Copy link

hi @semuelle , we're still working on it. Some update are already done in local.

@ekkirinaldi
Copy link

Hey @semuelle , we got an update for you!

  • According to the grant application, the article should cover "the analytics and API usage", but it's mostly just showing screenshots and talking about selling tokens. It would be great if you could create a more technical article that explains and walks through what was done as part of the grant and how users can leverage it.

you can read the documentation here: https://profond.gitbook.io/docs/analytics-and-api

  • I'm not familiar with Metabase at all. Could you add what is required to set up Metabase/Postgres to the testing instructions to get the project to run locally?

you can access how to install the Metabase in Readme https://github.com/profondHQ/profond-analytics

  • The frontend on profond.ai doesn't react to my wallet selection in Firefox. It also doesn't respect my network decision. It always creates a transaction for Shibuya.

we have fixed this, should works on firefox now, also we've limit the interaction into shibuya only

  • What is the data displayed in the analytics tab? I expected some real, live data there.

we've deleted the dummy data, we also add table transaction so you can check for real-time trx

lemme know if you have questions

| ------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- |
| 0a. | License | https://github.com/profondHQ/profond-analytics/blob/main/LICENSE |
| 0b. | Documentation | User document at: https://profond.gitbook.io/docs/ . API documentation is on the backend API swagger: https://github.com/profondHQ/profond-backend-api | |
| 0c. | Testing and Testing Guide | PSP22 Tests: https://github.com/profondHQ/profond-psp22-contract/tree/master/tests . API Tests: https://github.com/profondHQ/profond-backend-api/tree/master/test. | |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| 0c. | Testing and Testing Guide | PSP22 Tests: https://github.com/profondHQ/profond-psp22-contract/tree/master/tests . API Tests: https://github.com/profondHQ/profond-backend-api/tree/master/test. | |
| 0c. | Testing and Testing Guide | PSP22 Tests: https://github.com/profondHQ/profond-psp22-contract/tree/master/tests . API Tests: https://github.com/profondHQ/profond-backend-api/tree/master/test | |

Copy link
Member

@semuelle semuelle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the updates, @emarai. I can confirm that the article is in good shape now. However, I still have some issues, please have a look.

  1. The contract doesn't compile:
> yarn compile:release
yarn run v1.22.19
$ typechain-compiler --toolchain nightly-2023-03-13 --release
======== Found contracts ========                                                                                    10:38:30
	base_token                                                                                                           10:38:30
======== Compiling base_token ========                                                                               10:38:30
error: failed to parse manifest at `/tmp/cargo-contract_EQMJNY/contracts/base_token/Cargo.toml`

Caused by:
  the target `base_token` is a binary and can't have any crate-types set (currentlERROR: command ["/home/profond/.rustup/toolchains/nightly-2023-03-13-x86_64-unknown-linux-gnu/bin/cargo", "build", "--color=always", "--target=wasm32-unknown-unknown", "-Zbuild-std=core,alloc", "--no-default-features", "--release", "--target-dir=/home/profond/profond-psp22-contract/target/ink/base_token", "-Zbuild-std-features=panic_immediate_abort"] exited with code 101

 ERROR  ======== Failed to compile base_token ========                                                               10:38:31
  1. Some of the tests fail:
> yarn run test
yarn run v1.22.19
$ jest
 PASS  src/app.controller.spec.ts (5.719 s)
 FAIL  src/stats/stats.service.spec.ts
  ● Test suite failed to run

    Cannot find module 'src/constants' from 'stats/stats.service.ts'

    Require stack:
      stats/stats.service.ts
      stats/stats.service.spec.ts

      1 | import { Inject, Injectable } from "@nestjs/common";
    > 2 | import { PG_CONNECTION } from "src/constants";
        | ^
      3 |
      4 | @Injectable()
      5 | export class StatsService {

      at Resolver._throwModNotFoundError (../node_modules/jest-resolve/build/resolver.js:427:11)
      at Object.<anonymous> (stats/stats.service.ts:2:1)
      at Object.<anonymous> (stats/stats.service.spec.ts:2:1)

 FAIL  src/stats/stats.controller.spec.ts
  ● Test suite failed to run

    Cannot find module 'src/constants' from 'stats/stats.service.ts'

    Require stack:
      stats/stats.service.ts
      stats/stats.controller.ts
      stats/stats.controller.spec.ts

      1 | import { Inject, Injectable } from "@nestjs/common";
    > 2 | import { PG_CONNECTION } from "src/constants";
        | ^
      3 |
      4 | @Injectable()
      5 | export class StatsService {

      at Resolver._throwModNotFoundError (../node_modules/jest-resolve/build/resolver.js:427:11)
      at Object.<anonymous> (stats/stats.service.ts:2:1)
      at Object.<anonymous> (stats/stats.controller.ts:2:1)
      at Object.<anonymous> (stats/stats.controller.spec.ts:2:1)

 PASS  src/coin/coin.service.spec.ts (7.806 s)
 PASS  src/collection/collection.service.spec.ts (7.812 s)
A worker process has failed to exit gracefully and has been force exited. This is likely caused by tests leaking due to improper teardown. Try running with --detectOpenHandles to find leaks. Active timers can also cause this, ensure that .unref() was called on them.

Test Suites: 2 failed, 3 passed, 5 total
Tests:       5 passed, 5 total
Snapshots:   0 total
Time:        8.684 s
> yarn run test:e2e
yarn run v1.22.19
$ jest --config ./test/jest-e2e.json
 FAIL  test/app.e2e-spec.ts
  ● Test suite failed to run

    Cannot find module 'src/constants' from '../src/stats/stats.service.ts'

    Require stack:
      /home/profond/profond-backend-api/src/stats/stats.service.ts
      /home/profond/profond-backend-api/src/stats/stats.module.ts
      /home/profond/profond-backend-api/src/app.module.ts
      app.e2e-spec.ts

      1 | import { Inject, Injectable } from "@nestjs/common";
    > 2 | import { PG_CONNECTION } from "src/constants";
        | ^
      3 |
      4 | @Injectable()
      5 | export class StatsService {

      at Resolver._throwModNotFoundError (../node_modules/jest-resolve/build/resolver.js:427:11)
      at Object.<anonymous> (../src/stats/stats.service.ts:2:1)
      at Object.<anonymous> (../src/stats/stats.module.ts:2:1)
      at Object.<anonymous> (../src/app.module.ts:8:1)
      at Object.<anonymous> (app.e2e-spec.ts:4:1)

Test Suites: 1 failed, 1 total
Tests:       0 total
Snapshots:   0 total
Time:        3.012 s
Ran all test suites.

Also, some minor UI issues:

  • It's still not clear to me what data is shown in the analytics tab. It shows the same whether I'm logged in or not. Does this refer to tokens deployed through Profond? If so, perhaps you can make this a bit more clear.
  • All the entries in the analytics table look clickable, but aren't. Even the buy text.
  • After creating a token, it doesn't show up in my profile or in the dropdown on the launch page.

@ekkirinaldi
Copy link

Thanks for the updates, @emarai. I can confirm that the article is in good shape now. However, I still have some issues, please have a look.

  1. The contract doesn't compile:
> yarn compile:release
yarn run v1.22.19
$ typechain-compiler --toolchain nightly-2023-03-13 --release
======== Found contracts ========                                                                                    10:38:30
	base_token                                                                                                           10:38:30
======== Compiling base_token ========                                                                               10:38:30
error: failed to parse manifest at `/tmp/cargo-contract_EQMJNY/contracts/base_token/Cargo.toml`

Caused by:
  the target `base_token` is a binary and can't have any crate-types set (currentlERROR: command ["/home/profond/.rustup/toolchains/nightly-2023-03-13-x86_64-unknown-linux-gnu/bin/cargo", "build", "--color=always", "--target=wasm32-unknown-unknown", "-Zbuild-std=core,alloc", "--no-default-features", "--release", "--target-dir=/home/profond/profond-psp22-contract/target/ink/base_token", "-Zbuild-std-features=panic_immediate_abort"] exited with code 101

 ERROR  ======== Failed to compile base_token ========                                                               10:38:31
  1. Some of the tests fail:
> yarn run test
yarn run v1.22.19
$ jest
 PASS  src/app.controller.spec.ts (5.719 s)
 FAIL  src/stats/stats.service.spec.ts
  ● Test suite failed to run

    Cannot find module 'src/constants' from 'stats/stats.service.ts'

    Require stack:
      stats/stats.service.ts
      stats/stats.service.spec.ts

      1 | import { Inject, Injectable } from "@nestjs/common";
    > 2 | import { PG_CONNECTION } from "src/constants";
        | ^
      3 |
      4 | @Injectable()
      5 | export class StatsService {

      at Resolver._throwModNotFoundError (../node_modules/jest-resolve/build/resolver.js:427:11)
      at Object.<anonymous> (stats/stats.service.ts:2:1)
      at Object.<anonymous> (stats/stats.service.spec.ts:2:1)

 FAIL  src/stats/stats.controller.spec.ts
  ● Test suite failed to run

    Cannot find module 'src/constants' from 'stats/stats.service.ts'

    Require stack:
      stats/stats.service.ts
      stats/stats.controller.ts
      stats/stats.controller.spec.ts

      1 | import { Inject, Injectable } from "@nestjs/common";
    > 2 | import { PG_CONNECTION } from "src/constants";
        | ^
      3 |
      4 | @Injectable()
      5 | export class StatsService {

      at Resolver._throwModNotFoundError (../node_modules/jest-resolve/build/resolver.js:427:11)
      at Object.<anonymous> (stats/stats.service.ts:2:1)
      at Object.<anonymous> (stats/stats.controller.ts:2:1)
      at Object.<anonymous> (stats/stats.controller.spec.ts:2:1)

 PASS  src/coin/coin.service.spec.ts (7.806 s)
 PASS  src/collection/collection.service.spec.ts (7.812 s)
A worker process has failed to exit gracefully and has been force exited. This is likely caused by tests leaking due to improper teardown. Try running with --detectOpenHandles to find leaks. Active timers can also cause this, ensure that .unref() was called on them.

Test Suites: 2 failed, 3 passed, 5 total
Tests:       5 passed, 5 total
Snapshots:   0 total
Time:        8.684 s
> yarn run test:e2e
yarn run v1.22.19
$ jest --config ./test/jest-e2e.json
 FAIL  test/app.e2e-spec.ts
  ● Test suite failed to run

    Cannot find module 'src/constants' from '../src/stats/stats.service.ts'

    Require stack:
      /home/profond/profond-backend-api/src/stats/stats.service.ts
      /home/profond/profond-backend-api/src/stats/stats.module.ts
      /home/profond/profond-backend-api/src/app.module.ts
      app.e2e-spec.ts

      1 | import { Inject, Injectable } from "@nestjs/common";
    > 2 | import { PG_CONNECTION } from "src/constants";
        | ^
      3 |
      4 | @Injectable()
      5 | export class StatsService {

      at Resolver._throwModNotFoundError (../node_modules/jest-resolve/build/resolver.js:427:11)
      at Object.<anonymous> (../src/stats/stats.service.ts:2:1)
      at Object.<anonymous> (../src/stats/stats.module.ts:2:1)
      at Object.<anonymous> (../src/app.module.ts:8:1)
      at Object.<anonymous> (app.e2e-spec.ts:4:1)

Test Suites: 1 failed, 1 total
Tests:       0 total
Snapshots:   0 total
Time:        3.012 s
Ran all test suites.

Also, some minor UI issues:

  • It's still not clear to me what data is shown in the analytics tab. It shows the same whether I'm logged in or not. Does this refer to tokens deployed through Profond? If so, perhaps you can make this a bit more clear.
  • All the entries in the analytics table look clickable, but aren't. Even the buy text.
  • After creating a token, it doesn't show up in my profile or in the dropdown on the launch page.

Noted, checking in!

@ekkirinaldi
Copy link

Hi @semuelle , we have updates for you:

  1. The contract doesn't compile
Works on our end on fresh clone, I suspect different cargo-contract version. I have updated the readme to include which rust toolchain and cargo-contract version to use. Run this to install [email protected]
cargo +nightly-2023-03-13 install --force --locked [email protected]
  1. Some of the tests fail
    Updated the backend code, please check

  2. It's still not clear to me what data is shown in the analytics tab. It shows the same whether I'm logged in or not. Does this refer to tokens deployed through Profond? If so, perhaps you can make this a bit more clear.
    This analytics intented to show all transaction on the platform, so it is agnositc towards users interaction

  3. All the entries in the analytics table look clickable, but aren't. Even the buy text
    Yes, this is the nature of metabase, though we still figure out how to deactivate but still cant find how to do it

  4. After creating a token, it doesn't show up in my profile or in the dropdown on the launch page
    There's a bug in indexer when parsing big integer, we have fixed this

Copy link
Member

@semuelle semuelle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the update, @ekkirinaldi . I can confirm that the tests are now working and that the indexer picked up my new token. Your milestone is hereby accepted. You can find my evaluation notes here.

Beyond the requirements of the grant agreement, I noticed a few things that I felt worth pointing out:

  • the sale transactions currently fail with a generic error message in the console: Object { dryResult: Map(5), errorMessage: "Error" }
  • The analytics view didn't seem to pick up my token deployment transaction
  • It seems that still only Shibuya network is supported at this point
  • The e2e tests seem to only test for a 200 response from the backend; I would have expected more thorough tests.

In any case, congratulations on finishing the grant. Best of luck with the project going forward!

@semuelle semuelle merged commit 8bec5ba into w3f:master Dec 20, 2023
6 checks passed
Copy link

We noticed that this is the last milestone of your project. Congratulations on completing your grant! 🎊

So, where to from here? First of all, you should join our Grants Community chat, if you haven't already, so we can stay in touch.
If you are looking for continuative support for your project, there are quite a few options. The main goal of the W3F grants program is to support research as well as early-stage technical projects. If your project still falls under one of those categories, you might want to apply for a follow-up grant. However, depending on your goals and project status, there are other support programs in our ecosystem that might be better suited as the next step. For example, projects with a Business Case/Token should look into the Substrate Builders Program or VC Funding and Common Good projects have a good chance of receiving Treasury Funding. If you are looking for guidance, the team at https://substrate.io/ecosystem/square-one/ has compiled a list of ecosystem support sources and are happy to help you navigate it.

For a more comprehensive list, see our Alternative Funding page. Let us know if you have any questions regarding the above. We are more than happy to point you to additional resources and help you determine the best course of action.
Lastly, we hope your W3F grant was a success and we want to thank you for being part of the journey!

Copy link

🪙 Please fill out the invoice form in order to initiate the payment process. Thank you!

@ekkirinaldi
Copy link

Thanks for the update, @ekkirinaldi . I can confirm that the tests are now working and that the indexer picked up my new token. Your milestone is hereby accepted. You can find my evaluation notes here.

Beyond the requirements of the grant agreement, I noticed a few things that I felt worth pointing out:

  • the sale transactions currently fail with a generic error message in the console: Object { dryResult: Map(5), errorMessage: "Error" }
  • The analytics view didn't seem to pick up my token deployment transaction
  • It seems that still only Shibuya network is supported at this point
  • The e2e tests seem to only test for a 200 response from the backend; I would have expected more thorough tests.

In any case, congratulations on finishing the grant. Best of luck with the project going forward!

Hi @semuelle appreciate the feedback. We will look into list you're pointing at and will get back to you. In the meanwhile, we will proceed with the submission.

Thank you for guiding us until this stage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants