Commit graph

38 commits

Author SHA1 Message Date
fe38e08d4e Adds manual transaction processing feature
Implements functionality to manually process specific Lamassu transactions by ID, bypassing dispense checks.

This allows administrators to handle transactions that may have failed due to dispense issues or were settled manually outside of the automated process.

The feature includes a new UI dialog for entering the transaction ID and an API endpoint to fetch and process the transaction, crediting wallets and distributing funds according to the DCA configuration.
2025-11-03 22:23:08 +01:00
230beccc37 Improve 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. 2025-11-03 22:23:04 +01:00
077e097fc2 Refactor 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. 2025-11-03 22:23:04 +01:00
4843b43147 FIX: exclude flow_clients remaining_balance values less than 0.01 2025-07-06 02:04:11 +02:00
5d41e0c50e Refine 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. 2025-07-06 01:15:26 +02:00
bca39b91cd Enhance 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. 2025-07-06 00:54:19 +02:00
c83ebf43ab 01 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.
Refactor GTQ storage migration: Moved the conversion logic for centavo amounts to GTQ into a new migration function, m004_convert_to_gtq_storage, ensuring proper data type changes and updates across relevant tables. This enhances clarity and maintains the integrity of the migration process.
2025-07-06 00:13:03 +02:00
7b40fcef21 Change 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. 2025-07-05 18:31:59 +02:00
d701b7c770 Implement 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. 2025-07-05 18:31:20 +02:00
1943da1fc3 Enhance 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. 2025-07-05 16:57:04 +02:00
e222922a6a Update 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. 2025-07-05 16:57:04 +02:00
ae50db10c7 Normalize 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. 2025-07-05 16:55:44 +02:00
3e4effb76f Refactor 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. 2025-07-05 16:50:31 +02:00
59e4d53215 Enhance 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. 2025-07-05 16:06:00 +02:00
c5227100b8 Enhance 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. 2025-07-05 15:49:42 +02:00
7e39bb160a Enhance 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. 2025-07-05 15:49:42 +02:00
4d3e6a4b37 Add 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. 2025-06-23 00:20:37 +02:00
3a2f10f949 Add 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. 2025-06-22 16:50:27 +02:00
dc35cae44e Add 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. 2025-06-20 00:49:46 +02:00
c38a20b6da Enhance 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. 2025-06-20 00:16:33 +02:00
3a03efde20 Fix 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. 2025-06-19 23:31:21 +02:00
39741075b4 Enhance 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. 2025-06-19 21:35:47 +02:00
5bbcee2afa Add 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. 2025-06-19 17:33:24 +02:00
df8b36fc0f Add 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. 2025-06-19 17:08:07 +02:00
033e329870 Add 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. 2025-06-19 16:58:44 +02:00
1c1f358d82 Add 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. 2025-06-19 16:35:11 +02:00
1388133f22 Add 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. 2025-06-19 16:09:06 +02:00
c5755d48d1 Refactor 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. 2025-06-19 10:35:54 +02:00
c63785f6b9 Update commission percentage handling in transaction processing: adjust logic to use decimal values directly from transaction data, which is how Lamassu stores them 2025-06-18 16:40:41 +02:00
33b148415f Refactor 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. 2025-06-18 16:36:53 +02:00
ba03953291 Update 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. 2025-06-18 16:33:18 +02:00
e00eb0f88c Enhance 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. 2025-06-18 16:33:10 +02:00
a4c5d11d99 Refactor 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. 2025-06-18 16:07:33 +02:00
a107f825af Add 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. 2025-06-18 15:56:55 +02:00
3c6262b309 Refactor 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. 2025-06-18 15:37:00 +02:00
c4ab8c27ef Enhance 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. 2025-06-18 15:33:51 +02:00
8f046ad0c5 Add 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. 2025-06-18 13:40:30 +02:00
1f7999a556 Add Lamassu database configuration: implement CRUD operations, polling tasks, and UI components for managing database settings. Introduce hourly transaction polling and manual poll functionality. 2025-06-18 10:56:05 +02:00