elimu-ai / web3-wiki

💎 Wiki related to Web3 & finances
https://tokenlog.generalmagic.io/elimu-ai/web3-wiki
Creative Commons Zero v1.0 Universal
0 stars 0 forks source link

Fetch sponsorship events #46

Closed nya-elimu closed 3 months ago

nya-elimu commented 3 months ago

closes #45

coderabbitai[bot] commented 3 months ago

Walkthrough

The recent changes introduce a Continuous Integration (CI) workflow for Node.js applications and enhance documentation related to funding splits. Key updates include the implementation of a GitHub Actions workflow to automate testing across multiple Node.js versions, improved links in the funding documentation for Hindi and Tagalog, and the addition of scripts for querying sponsorship events from a smart contract. These modifications streamline development and improve data accessibility.

Changes

File Path Change Summary
.github/workflows/node.js.yml New CI workflow for Node.js applications, testing across Node.js versions 18.x, 20.x, and 22.x.
DRIP_LIST_FUNDING_SPLITS.md Updated Hindi and Tagalog entries to include direct links to respective funding splits CSV files.
funding-splits/distribution/.gitignore Added a .gitignore file to exclude node_modules and query-sponsorship-events.js from version control.
funding-splits/distribution/README.md Introduced a README file outlining setup steps for users to install dependencies and run scripts related to funding splits.
funding-splits/distribution/query-sponsorship-events.ts New TypeScript file to query sponsorship events from a smart contract, aggregate data, and export it to CSV format.

Assessment against linked issues

Objective Addressed Explanation
Fetch a list of SponsorshipAdded Events from the smart contract ( #45 )

Recent review details **Configuration used: CodeRabbit UI** **Review profile: CHILL**
Commits Files that changed from the base of the PR and between d19fec9f0ab24ee9d993acf7ffabeec492504fab and 983ff2701dda0d832af755c824862281929c4fcd.
Files ignored due to path filters (5) * `funding-splits/distribution/FUNDING_SPLITS_HIN.csv` is excluded by `!**/*.csv`, `!**/*.csv` * `funding-splits/distribution/abis/SponsorshipQueue.json` is excluded by `!**/*.json` * `funding-splits/distribution/package-lock.json` is excluded by `!**/package-lock.json`, `!**/*.json` * `funding-splits/distribution/package.json` is excluded by `!**/*.json` * `funding-splits/distribution/tsconfig.json` is excluded by `!**/*.json`
Files selected for processing (5) * .github/workflows/node.js.yml (1 hunks) * DRIP_LIST_FUNDING_SPLITS.md (1 hunks) * funding-splits/distribution/.gitignore (1 hunks) * funding-splits/distribution/README.md (1 hunks) * funding-splits/distribution/query-sponsorship-events.ts (1 hunks)
Files skipped from review due to trivial changes (3) * DRIP_LIST_FUNDING_SPLITS.md * funding-splits/distribution/.gitignore * funding-splits/distribution/README.md
Additional comments not posted (12)
.github/workflows/node.js.yml (4)
`1-5`: **LGTM!** The header and name section provide clear and necessary information. --- `6-10`: **LGTM!** The triggers section is correctly set up to ensure the workflow runs on relevant events. --- `12-25`: **LGTM!** The jobs section is well-defined and includes necessary details for the build job. The strategy matrix ensures compatibility with multiple Node.js versions. --- `26-35`: **LGTM!** The steps section is comprehensive and covers necessary actions for the build job. The use of caching for npm dependencies is efficient.
funding-splits/distribution/query-sponsorship-events.ts (8)
`1-3`: **LGTM!** The import statements are appropriate and necessary for the functionality implemented in the file. --- `5-9`: **LGTM!** The setup for the RPC server address and provider is correct. The console log statements are useful for debugging. --- `11-16`: **LGTM!** The contract setup is correct. The commented-out console log statement can be useful for debugging. --- `18-69`: **LGTM!** The `query` function is well-implemented and includes necessary steps to retrieve and process events. The console log statements are useful for debugging. --- `71-122`: **LGTM!** The `prepareCsvData` function is well-implemented and includes necessary steps to process event data. The console log statements are useful for debugging. --- `124-145`: **LGTM!** The `calculateImpactPercentages` function is well-implemented and includes necessary steps to calculate impact percentages. The console log statements are useful for debugging. --- `147-167`: **LGTM!** The `exportToCsv` function is well-implemented and includes necessary steps to export data to a CSV file. The console log statements are useful for debugging. --- `1-167`: **LGTM!** The overall functionality and integration of the file are well-implemented. The use of console log statements throughout the file is useful for debugging.
--- Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): - Review comments: Directly reply to a review comment made by CodeRabbit. Example: - `I pushed a fix in commit .` - `Generate unit testing code for this file.` - `Open a follow-up GitHub issue for this discussion.` - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit testing code for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai generate interesting stats about this repository and render them as a table.` - `@coderabbitai show all the console.log statements in this repository.` - `@coderabbitai read src/utils.ts and generate unit testing code.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` - `@coderabbitai help me debug CodeRabbit configuration file.` Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. ### CodeRabbit Commands (invoked as PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai full review` to do a full review from scratch and review all the files again. - `@coderabbitai summary` to regenerate the summary of the PR. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository. - `@coderabbitai help` to get help. Additionally, you can add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. ### CodeRabbit Configuration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information. - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json` ### Documentation and Community - Visit our [Documentation](https://coderabbit.ai/docs) for detailed information on how to use CodeRabbit. - Join our [Discord Community](https://discord.com/invite/GsXnASn26c) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.