230beccc37Improve balance verification in LamassuTransactionProcessor: Added rounding to two decimal places for balance and fiat amounts to ensure precision in comparisons. Enhanced logging for insufficient balance scenarios, improving clarity in transaction processing and error reporting.padreug2025-07-19 00:21:13 +02:00
077e097fc2Refactor transaction data handling in LamassuTransactionProcessor: Improved consistency in processing None and empty values during data ingestion. Defaulted numeric fields to 0 and percentage fields to 0.0 for better error handling. Ensured clean extraction of transaction details, enhancing reliability in transaction processing.padreug2025-07-08 06:14:52 +02:00
4843b43147FIX: exclude flow_clients remaining_balance values less than 0.01padreug2025-07-06 02:04:11 +02:00
5d41e0c50eRefine distribution logic in transaction processing: Updated the LamassuTransactionProcessor to only create distributions for clients with positive allocated sats. Enhanced logging to indicate when clients are skipped due to zero amounts, improving clarity and accuracy in transaction reporting.padreug2025-07-06 01:15:26 +02:00
bca39b91cdEnhance commission memo generation in transaction processing: Added discount handling to the commission memo in LamassuTransactionProcessor, allowing for the calculation of effective commission percentages when discounts are applied. This improves clarity in transaction details by providing a more accurate representation of commissions after discounts.padreug2025-07-06 00:54:19 +02:00
a864f285e4Refactor m004_convert_to_gtq_storage migration: Streamlined the conversion of centavo amounts to GTQ by detecting the database type (PostgreSQL or SQLite) and applying appropriate data type changes and updates. This enhances clarity and ensures proper handling of data conversions across relevant tables.padreug2025-07-06 00:24:49 +02:00
c83ebf43ab01 Refactor currency handling to store amounts in GTQ: Removed currency conversion utilities, updated models and API endpoints to directly handle GTQ amounts, and modified transaction processing logic for consistency. Enhanced frontend to reflect these changes, ensuring accurate display and submission of GTQ values across the application.padreug2025-07-06 00:00:30 +02:00
aa71321c8400 Add currency conversion utilities and update models for GTQ handling: Introduced currency conversion functions for GTQ and centavos, updated API and database models to handle GTQ amounts directly, and modified API endpoints to streamline deposit and balance summary responses. Adjusted frontend to reflect changes in currency representation, ensuring consistency across the application.padreug2025-07-05 23:38:23 +02:00
7b40fcef21Change order of transaction confirmation sorting: Updated the SQL query in the LamassuTransactionProcessor to sort confirmed transactions in ascending order by confirmation date, improving the retrieval of older transactions.padreug2025-07-05 18:31:59 +02:00
d701b7c770Implement final balance verification in distribution process: Added checks to ensure clients have positive balances before finalizing distributions and making payments. Enhanced logging for rejected clients and balance sufficiency, improving transaction reliability and transparency.padreug2025-07-05 18:31:20 +02:00
f0f38f73bfUpdate currency handling in frontend and backend: Adjusted amount formatting to display GTQ instead of centavos in the UI. Modified data submission logic to convert GTQ to centavos for backend processing, ensuring consistency in currency representation across the application.padreug2025-07-05 17:35:11 +02:00
1943da1fc3Enhance DCA distribution logic: Improved the proportional distribution algorithm to include precise calculations with banker's rounding and handle remainder allocation fairly among clients. Added verification to ensure total distributed amount matches the base allocation, enhancing accuracy and reliability in transaction processing.padreug2025-07-05 15:06:32 +02:00
e222922a6aUpdate fiat amount handling in models and transaction processor: Modified models to store fiat amounts in centavos for precision. Adjusted transaction processing logic to calculate and display fiat values in centavos, ensuring consistency across the application. Enhanced comments for clarity on the new storage format.padreug2025-07-05 14:58:38 +02:00
7af0e47d48Add max_daily_limit_gtq field to lamassu_config: Updated database schema and models to include max_daily_limit_gtq for configurable client limits. Enhanced API and frontend to support this new field, ensuring proper handling and validation in the user interface.padreug2025-06-27 23:21:03 +02:00
ae50db10c7Normalize transaction_time to UTC in transaction processing: Enhanced the LamassuTransactionProcessor to ensure transaction_time is consistently converted to UTC if present, improving accuracy in time handling across transactions.padreug2025-07-05 16:55:44 +02:00
3e4effb76fRefactor logging and transaction time normalization: Updated the get_client_balance_summary function to use loguru for improved logging clarity. Enhanced transaction processing to normalize transaction_time to UTC, ensuring consistency and accuracy in time handling across transactions.padreug2025-07-05 16:50:31 +02:00
5988a25983Refine client balance summary logic: Updated the get_client_balance_summary function to filter payments based on transaction_time for improved temporal accuracy. Enhanced logging to clarify balance calculations with respect to the cutoff time, ensuring better transparency in reported balances.padreug2025-07-05 16:41:41 +02:00
59e4d53215Enhance timestamp parsing in transaction processing: Improved handling of PostgreSQL timestamp formats to ensure consistency in UTC. Added error logging for invalid timestamps and implemented a fallback mechanism to use the current UTC time when parsing fails, enhancing robustness in transaction time management.padreug2025-07-05 16:06:00 +02:00
c5227100b8Enhance transaction time handling: Updated the transaction processing logic to ensure all timestamps are normalized to UTC for consistency. Added logging to warn about timezone-naive timestamps and to inform about conversions from other timezones. Adjusted the client balance summary logging to include timezone information when as_of_time is used, improving clarity in balance reporting.padreug2025-07-05 15:48:51 +02:00
7e39bb160aEnhance client balance summary retrieval: Updated the get_client_balance_summary function to accept an optional as_of_time parameter for temporal accuracy in balance calculations. Adjusted SQL queries to filter results based on the specified time, ensuring accurate balance summaries. Added logging for cases where as_of_time is utilized. Updated transaction processing to leverage this new functionality for improved accuracy in client balance calculations.padreug2025-07-05 15:35:58 +02:00
8871f24cecRefactor DCA API endpoints to use superuser authentication: Updated all relevant DCA-related API endpoints to require check_super_user instead of require_admin_key, enhancing security. Adjusted client-side API calls to remove wallet admin key usage, ensuring session-based superuser authentication is utilized. Updated documentation in CLAUDE.md to reflect these changes.padreug2025-06-26 13:18:01 +02:00
dfc2dd695cRemove test client creation functionality from admin extensionpadreug2025-06-26 12:04:55 +02:00
76807663dbUpdate database references from 'satmachineadmin' to 'satoshimachine': Modified all relevant CRUD operations and migration scripts to reflect the new database name, ensuring consistency across the application.padreug2025-06-26 10:14:49 +02:00
4d3e6a4b37Add SSH configuration handling in transaction processor: Introduced a temporary SSH config file for secure connections, including strict settings and proper key handling. Enhanced error handling for cleanup of SSH key and config files. Updated connection methods to utilize the new SSH config structure for improved security and maintainability.padreug2025-06-23 00:20:37 +02:00
3a2f10f949Add transaction_time field to DCA payments: Updated the database schema to include a new transaction_time column in the dca_payments table, modified the CreateDcaPaymentData model to accept transaction_time, and adjusted the create_dca_payment function to store the original ATM transaction time. Updated transaction processing to capture this new field.padreug2025-06-22 16:50:27 +02:00
466d2c74e3Refactor DCA API endpoints to require admin key for access: Updated wallet dependency in multiple DCA-related endpoints to use require_admin_key instead of require_invoice_key, enhancing security and access control. Cleaned up code formatting for improved readability.padreug2025-06-22 11:13:41 +02:00
6db94179ccReplace [mM]yextension with [sS]at[mM]achine[aA]dminpadreug2025-06-20 22:16:58 +02:00
896ca5f3caRefactor DCA Admin migration script: Simplify and consolidate database schema creation for Dollar Cost Averaging administration, including DCA clients, deposits, payments, and Lamassu configuration. Remove legacy migration functions and enhance clarity with updated table structures and comments.padreug2025-06-20 22:10:16 +02:00
75dd03b15aRefactor MyExtension to DCA Admin: Update extension name and description in config.json, remove legacy MyExtension CRUD operations and related API endpoints, and adjust router tags. Clean up unused files and methods to streamline the codebase for DCA administration functionality.padreug2025-06-20 21:51:38 +02:00
edca91579cUpdate README.md to provide comprehensive documentation for DCA Admin Extension: include detailed overview, features, installation instructions, configuration management, usage guidelines for administrators and end users, technical details, and troubleshooting tips. Enhance clarity and usability for developers integrating with Lamassu ATM transactions.padreug2025-06-20 01:58:19 +02:00
1af15b6e26Add Lamassu transaction endpoints and UI integration: implement API endpoints for retrieving all processed Lamassu transactions and specific transaction details, including distribution information. Enhance frontend to display transaction data in a table format with export functionality and detailed views for distributions, improving user experience and data accessibility.padreug2025-06-20 01:37:31 +02:00
dc35cae44eAdd CRUD operations for Lamassu transactions: implement create, retrieve, and update functions for storing processed Lamassu transactions in the database. Enhance migration script to create the necessary database table and update models to include transaction data structures. Integrate transaction storage into the LamassuTransactionProcessor for improved audit and UI display capabilities.padreug2025-06-20 00:49:46 +02:00
c38a20b6daEnhance transaction detail extraction in LamassuTransactionProcessor: implement None-safe defaults for transaction fields and add validation checks for required fields, improving error handling and logging for missing data.padreug2025-06-20 00:16:33 +02:00
3a03efde20Fix type conversion for fiat and crypto amounts in LamassuTransactionProcessor: update processing logic to convert values to integers after converting to float, ensuring accurate handling of monetary values.padreug2025-06-19 23:31:21 +02:00
39741075b4Enhance memo creation in LamassuTransactionProcessor: update memo formatting to include DCA metrics such as fiat amount and cost basis per BTC for both target and commission wallets. This improves clarity and provides better financial context for transactions.padreug2025-06-19 21:35:47 +02:00
645970b3e7Add remaining balance display and fetch functionality for DCA clients: update index.js to include remaining_balance in client data retrieval and enhance index.html to display the balance with conditional formatting. Ensure balances are refreshed after data updates for accurate representation.padreug2025-06-19 17:40:31 +02:00
5bbcee2afaAdd DCA payment status update functionality: implement update_dca_payment_status method in CRUD operations and integrate it into the LamassuTransactionProcessor for updating payment statuses to 'confirmed' or 'failed' based on transaction outcomes. Enhance error handling and logging for better traceability.padreug2025-06-19 17:33:24 +02:00
5f21a27f0eAdd test transaction endpoint and UI integration: implement API for simulating transactions with mock data, including commission and discount calculations. Enhance frontend to trigger test transactions and display results in a dialog, improving user experience and testing capabilities.padreug2025-06-19 17:33:16 +02:00
df8b36fc0fAdd commission wallet support in Lamassu configuration: update database schema to include commission_wallet_id, modify related models and CRUD operations, and implement commission payment functionality in transaction processing. Enhance UI components to allow selection of the commission wallet for improved user experience.padreug2025-06-19 17:08:07 +02:00
033e329870Add crediting functionality for source wallet in transaction processing: implement credit_source_wallet method to credit the source wallet with the full crypto amount from Lamassu transactions. Update process_transaction method to call this new functionality before calculating DCA distributions, ensuring accurate wallet balance management.padreug2025-06-19 16:58:44 +02:00
1c1f358d82Add source wallet ID support for DCA distributions: update Lamassu configuration to include source_wallet_id, modify related models and CRUD operations, and enhance transaction processing to utilize the configured source wallet for payments. Update UI components to allow selection of the source wallet.padreug2025-06-19 16:35:11 +02:00
1388133f22Add DCA payment sending functionality in LamassuTransactionProcessor: implement send_dca_payment method to create and send Bitcoin payments to clients' wallets, including invoice creation and error handling. Update transaction processing to log payment success or failure.padreug2025-06-19 16:09:06 +02:00
c5755d48d1Refactor transaction fetching in LamassuTransactionProcessor: update SQL query to filter for confirmed and authorized transactions, ensuring only valid dispenses are retrieved. Adjust transaction time field to use confirmed_at for improved accuracy.padreug2025-06-19 10:35:54 +02:00
63638c089fEnhance DCA system documentation: add detailed progress updates on completed features, current state, next steps, and technical implementation details. Include sections on SSH-based database polling, transaction processing, smart poll tracking, client management, admin interface, and database schema.padreug2025-06-18 17:30:26 +02:00
2bc9a00c47Implement client username display in myextension: add getClientUsername method to retrieve usernames for clients and update the UI to show usernames instead of client IDs in the table.padreug2025-06-18 17:06:54 +02:00
b615ed0504Add username field to DCA clients: update database schema, CRUD operations, and UI components to support username functionality for improved user experience.padreug2025-06-18 17:04:54 +02:00
1d9cda3931change myextension icon to aio graphicpadreug2025-06-18 16:46:54 +02:00
c63785f6b9Update commission percentage handling in transaction processing: adjust logic to use decimal values directly from transaction data, which is how Lamassu stores thempadreug2025-06-18 16:40:41 +02:00
33b148415fRefactor commission and exchange rate calculations in transaction processing: update logic to derive base crypto amount from total crypto, enhance logging to reflect base amounts for DCA distribution, and ensure accurate client share calculations based on base amounts.padreug2025-06-18 16:36:53 +02:00
ba03953291Update transaction processing to include discount in commission calculations: adjust effective commission logic, enhance logging for transaction details, and ensure accurate net crypto distribution for clients.padreug2025-06-18 16:33:18 +02:00
e00eb0f88cEnhance transaction processing to include discount handling: update commission calculation to account for discounts, improve logging for transaction details, and adjust client distribution logic to reflect net crypto amounts after commission and discounts.padreug2025-06-18 16:33:10 +02:00
ac2b0f539cImplement date and time formatting for polling information in Lamassu configuration: add formatDateTime method to enhance date display, update UI to utilize new formatting for last poll and last successful poll timestamps.padreug2025-06-18 16:14:33 +02:00
a4c5d11d99Refactor transaction fetching logic in LamassuTransactionProcessor: update query to retrieve all transactions since the threshold, filter out already processed transactions using local database, and enhance logging to provide detailed insights on new transactions.padreug2025-06-18 16:07:33 +02:00
a107f825afAdd last poll tracking to Lamassu configuration: update database schema to include last_poll_time and last_successful_poll fields, modify CRUD operations to record poll times, and enhance transaction processing to utilize these timestamps for improved polling accuracy.padreug2025-06-18 15:56:55 +02:00
3c6262b309Refactor transaction processing to utilize SSH for database queries: implement execute_ssh_query method, enhance error handling, and update connection testing steps. Modify API to fetch transactions via SSH configuration, improving security and reliability.padreug2025-06-18 15:37:00 +02:00
c4ab8c27efEnhance SSH tunnel functionality in transaction processing: implement subprocess-based SSH tunnel as a fallback, improve error handling, and add detailed connection testing with step-by-step reporting. Update API to utilize new testing method and enhance UI to display detailed results.padreug2025-06-18 15:33:51 +02:00
8f046ad0c5Add SSH tunnel support to Lamassu configuration: update database schema, models, and UI components to include SSH settings. Implement SSH tunnel setup and teardown in transaction processing for enhanced security.padreug2025-06-18 13:40:30 +02:00
1f7999a556Add Lamassu database configuration: implement CRUD operations, polling tasks, and UI components for managing database settings. Introduce hourly transaction polling and manual poll functionality.padreug2025-06-18 10:56:05 +02:00
c9f7140d95Refactor total DCA balance calculation: remove redundant state variable and update computed property to directly calculate balance from deposits.padreug2025-06-18 10:08:44 +02:00
46b7a1450dAdd temporary DCA client creation endpoint for testing and enhance quick deposit UI with new form for adding deposits. Clean up code formatting for consistency.padreug2025-06-17 20:09:53 +02:00
b3332e585aRefactor DCA client management: remove CRUD operations for clients and update UI to focus on deposit management. Introduce quick deposit form for existing clients.padreug2025-06-17 19:28:53 +02:00
7bafc67370Add DCA admin extension with CRUD operations for clients and deposits, including UI components for managing deposits and client details.padreug2025-06-17 19:26:31 +02:00
1196349cbcRemove the FOREIGN KEY constraints which can cause issues in SQLite; clean up the syntaxpadreug2025-06-17 18:30:09 +02:00
22ebdc76bbAdd DCA CRUD operations and models for clients, deposits, and paymentspadreug2025-06-17 18:29:23 +02:00