Skip to content

v0.5.0

Compare
Choose a tag to compare
@taha-abbasi taha-abbasi released this 21 May 22:23
· 48 commits to main since this release

Release v0.5.0

Overview

This release introduces significant code organization, performance enhancements, and introduces new features aimed at increasing the maintainability, scalability, and efficiency of the application. We have focused on environment configuration, separation of concerns, and optimization of the SnapHodl feature, including performance optimizations in the cron job scheduling.

Details

Enhancements

  • Environment Configuration: Moved environment setup to a separate config.ts file for better modularity and ease of use. It's now possible to import and use environment configurations from this centralized module.

  • Cron Jobs: Introduced a dedicated module cronJobs.ts to handle cron job scheduling. This makes it easier to manage, schedule and organize different cron jobs that the application might have. We have optimized the execution of the cron job, reducing its execution time from 1 minute 45 seconds to 37 seconds, by running multiple queries concurrently using Promise.all.

  • New Staking Functionality: We've introduced the processStakingContractDataItem and getSnapHodlConfigBalance functions, which have been moved to a new staking.ts file in the src/logic directory.

    • processStakingContractDataItem: This function processes each staking contract data item to collect and return necessary data including staking contract address, token contract address, chain ID, and the total staked balance.

    • getSnapHodlConfigBalance: This function aggregates the data processed by processStakingContractDataItem function, constructs the SnapHodlConfigBalance data structure, and returns it. This helps in tracking the total staked balance per contract address and maintaining a snapshot of the staking configuration.

Bug Fixes

No specific bugs were addressed in this release.

Concluding Remarks

Release v0.5.0 is a step forward in maintaining the quality and scalability of the codebase. With the new features and optimizations implemented, the project is now more organized, efficient, and ready to accommodate future enhancements and fixes. As always, feedback and contributions are warmly welcome.

What's Changed

Full Changelog: v0.2.0...v0.5.0