v0.5.0
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 usingPromise.all
. -
New Staking Functionality: We've introduced the
processStakingContractDataItem
andgetSnapHodlConfigBalance
functions, which have been moved to a newstaking.ts
file in thesrc/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 byprocessStakingContractDataItem
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
- Preparing for deployment by @taha-abbasi in #17
- Created an express server by @taha-abbasi in #18
- Added parallel cron and saveSnapHodlBalanceData by @taha-abbasi in #19
Full Changelog: v0.2.0...v0.5.0