Commit graph

153 commits

Author SHA1 Message Date
e7b6d261f7 Removes test transaction UI button
Removes the test transaction button from the admin UI.

The test transaction endpoint is still available in the API for development and debugging purposes.
2025-10-24 00:30:34 +02:00
9c2a1f7d4a 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-10-24 00:15:22 +02:00
bd7a72f3c0 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.
Some checks failed
CI / lint (push) Has been cancelled
CI / tests (3.10) (push) Has been cancelled
CI / tests (3.9) (push) Has been cancelled
/ release (push) Has been cancelled
/ pullrequest (push) Has been cancelled
2025-07-19 00:21:13 +02:00
d1242e5cd2 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-07-08 06:14:52 +02: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
a864f285e4 Refactor 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. 2025-07-06 00:24:49 +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
aa71321c84 00 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. 2025-07-05 23:38:23 +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
f0f38f73bf Update 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. 2025-07-05 17:35:11 +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
7af0e47d48 Add 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. 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
5988a25983 Refine 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. 2025-07-05 16:41:41 +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
8871f24cec Refactor 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. 2025-06-26 13:36:29 +02:00
dfc2dd695c Remove test client creation functionality from admin extension
Client registration will now be handled by the DCA client extension.
The admin extension focuses solely on:
- Reading existing clients
- Managing deposits (pending → confirmed workflow)
- Monitoring DCA activity

Test client creation code preserved in 'feature/test-client-creation' branch.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-26 12:04:55 +02:00
76807663db Update 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. 2025-06-26 10:14:49 +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
18323dc0c8 move to parent folder 2025-06-22 11:51:45 +02:00
466d2c74e3 Refactor 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.
Update DCA API calls to use admin key: Changed references from `inkey` to `adminkey` in multiple DCA-related API requests to ensure proper access control and security compliance.
2025-06-22 11:19:18 +02:00
931ae1308f remove helper bash script 2025-06-22 10:59:49 +02:00
628d5b4254 update CLAUDE.md 2025-06-20 22:32:54 +02:00
2569fbdf0d update manifest 2025-06-20 22:24:18 +02:00
6db94179cc Replace [mM]yextension with [sS]at[mM]achine[aA]dmin 2025-06-20 22:16:58 +02:00
896ca5f3ca Refactor 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. 2025-06-20 22:10:16 +02:00
75dd03b15a Refactor 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.
Refactor DCA Admin page endpoints: Update description, remove unused CRUD operations and API endpoints related to MyExtension, and streamline the code for improved clarity and functionality.

Remove QR Code dialog from MyExtension index.html: streamline the UI by eliminating unused dialog components, enhancing code clarity and maintainability.
2025-06-20 22:00:41 +02:00
edca91579c Update 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.
fix
2025-06-20 02:00:21 +02:00
1af15b6e26 Add 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. 2025-06-20 01:37:31 +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
645970b3e7 Add 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. 2025-06-19 17:40:31 +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
5f21a27f0e Add 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. 2025-06-19 17:33:16 +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
63638c089f Enhance 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. 2025-06-18 17:30:26 +02:00