Releases: Jetlum/WalletAlertService
v1.0.5 - Refactor Ethereum Client Integration & Start Price Monitoring Service
This update refactors the Ethereum client integration by introducing EthClientWrapper to ensure compatibility with the mock.EthClient nterface.
Price monitoring and price alert services are now started automatically on application startup.
The main loop subscribes to new Ethereum block headers and processes transactions for large transfers and NFT alerts.
All repository and notification interfaces are now fully supported, improving modularity and testability.
v1.0.4 - Cryptocurrency Price Alerts
Release Description:
This release introduces a new feature for monitoring cryptocurrency prices and sending customizable alerts based on user-defined thresholds. Users can now set up personalized price alerts for various cryptocurrencies and receive notifications when the price crosses the specified threshold.
Key Features:
Customizable Price Alerts:
- Users can set price thresholds for different cryptocurrencies.
- Notifications are sent when the price crosses the set threshold (above or below).
Real-time Price Monitoring:
- Integrated with CoinGecko API to fetch real-time prices.
- Monitors prices in real-time and triggers alerts promptly.
Multi-Currency Support:
- Supports multiple cryptocurrencies (e.g., Bitcoin, Ethereum).
- Users can set alerts for any supported cryptocurrency.
Notification Channels:
- Email notifications for price alerts.
- Potential integration with other notification channels (e.g., SMS, push notifications).
Implementation Details:
API Integration:
- Integrated with CoinGecko API to fetch real-time prices.
- Implemented a service to periodically check the prices of specified cryptocurrencies.
User Preferences:
- Extended the user preferences model to include price alert settings.
- Allows users to specify the cryptocurrency, price threshold, and notification preferences.
Alert Logic:
- Implemented logic to compare current prices with user-defined thresholds.
- Triggers notifications when the price crosses the threshold.
Notification Service:
- Extended the existing notification service to handle price alerts.
- Sends notifications via email or other configured channels.
User Interface:
- Updated the user interface to allow users to set and manage price alerts.
- Provided a dashboard to view active alerts and their statuses.
v1.0.3 - Integration Test Fixes and Mock Implementations
This release focuses on fixing integration tests and enhancing mock implementations to ensure robust and reliable testing.
Key Features:
- Integration Test Fixes:
- Corrected the usage of the fromAddress variable in assertions.
- Fixed the WithBody call to use the correct type.
- Ensured that the signed transaction is properly included in the mock block.
- Mock Implementations:
- Added a mock NFT detector implementation.
- Updated mock Ethereum client to include necessary function fields.
- Ensured mock client functions are properly set in tests.
Detailed Changes:
- Integration Test Enhancements:
- From Address Assertion: Ensured that the fromAddress variable is used in assertions to validate the sender's address.
- Correct WithBody Call: Fixed the WithBody call to use the correct types.Body type, ensuring proper block creation in tests.
- Mock Transaction: Included a signed transaction in the mock block to trigger email notifications.
- Mock NFT Detector:
- Implementation: Added a mock NFT detector with a customizable IsNFTTransactionFunc function.
- Usage in Tests: Updated integration tests to use the mock NFT detector.
- Mock Ethereum Client:
- Function Fields: Added necessary function fields (BlockByHashFunc, NetworkIDFunc, etc.) to the mock Ethereum client.
- Setter Methods: Provided setter methods to update mock functions in tests.
v1.0.2 - Mock Database Implementation for Testing
This release introduces a mock database implementation to facilitate testing without requiring a real database connection.
v1.0.1 - Mock Repositories for Testing and Improved Initialization
This release introduces mock repositories for testing, ensuring that the application can be tested without requiring a live database connection.
v1.0
Custom Alerts for Wallet Activities
Feature: Allow users to set up personalized alerts for wallet activities like large token transfers, NFT mints, or specific onchain events.
Technical Challenge: Build a subscription-based alert system that filters and indexes onchain events efficiently and sends notifications via email and push notifications.
Implementation: Use Golang to create a microservice that listens to Ethereum events, indexes them, and triggers alerts based on user preferences.