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.
This commit is contained in:
padreug 2025-10-24 00:30:34 +02:00
parent 9c2a1f7d4a
commit e7b6d261f7
2 changed files with 64 additions and 71 deletions

View file

@ -356,16 +356,6 @@
<q-tooltip>Process specific transaction by ID (bypasses dispense checks)</q-tooltip> <q-tooltip>Process specific transaction by ID (bypasses dispense checks)</q-tooltip>
Manual TX Manual TX
</q-btn> </q-btn>
<q-btn
v-if="lamassuConfig && lamassuConfig.source_wallet_id"
size="sm"
color="warning"
@click="testTransaction"
:loading="runningTestTransaction"
class="q-ml-sm"
>
Test Transaction
</q-btn>
</div> </div>
</q-card-section> </q-card-section>
</q-expansion-item> </q-expansion-item>

View file

@ -300,67 +300,70 @@ async def api_process_specific_transaction(
) )
@satmachineadmin_api_router.post("/api/v1/dca/test-transaction") # COMMENTED OUT FOR PRODUCTION - Test transaction endpoint disabled
async def api_test_transaction( # Uncomment only for development/debugging purposes
user: User = Depends(check_super_user), #
crypto_atoms: int = 103, # @satmachineadmin_api_router.post("/api/v1/dca/test-transaction")
commission_percentage: float = 0.03, # async def api_test_transaction(
discount: float = 0.0, # user: User = Depends(check_super_user),
) -> dict: # crypto_atoms: int = 103,
"""Test transaction processing with simulated Lamassu transaction data""" # commission_percentage: float = 0.03,
try: # discount: float = 0.0,
from .transaction_processor import transaction_processor # ) -> dict:
import uuid # """Test transaction processing with simulated Lamassu transaction data"""
from datetime import datetime, timezone # try:
# from .transaction_processor import transaction_processor
# Create a mock transaction that mimics Lamassu database structure # import uuid
mock_transaction = { # from datetime import datetime, timezone
"transaction_id": str(uuid.uuid4())[:8], # Short ID for testing #
"crypto_amount": crypto_atoms, # Total sats including commission # # Create a mock transaction that mimics Lamassu database structure
"fiat_amount": 100, # Mock fiat amount (100 centavos = 1 GTQ) # mock_transaction = {
"commission_percentage": commission_percentage, # Already as decimal # "transaction_id": str(uuid.uuid4())[:8], # Short ID for testing
"discount": discount, # "crypto_amount": crypto_atoms, # Total sats including commission
"transaction_time": datetime.now(timezone.utc), # "fiat_amount": 100, # Mock fiat amount (100 centavos = 1 GTQ)
"crypto_code": "BTC", # "commission_percentage": commission_percentage, # Already as decimal
"fiat_code": "GTQ", # "discount": discount,
"device_id": "test_device", # "transaction_time": datetime.now(timezone.utc),
"status": "confirmed", # "crypto_code": "BTC",
} # "fiat_code": "GTQ",
# "device_id": "test_device",
# Process the mock transaction through the complete DCA flow # "status": "confirmed",
await transaction_processor.process_transaction(mock_transaction) # }
#
# Calculate commission for response # # Process the mock transaction through the complete DCA flow
if commission_percentage > 0: # await transaction_processor.process_transaction(mock_transaction)
effective_commission = commission_percentage * (100 - discount) / 100 #
base_crypto_atoms = int(crypto_atoms / (1 + effective_commission)) # # Calculate commission for response
commission_amount_sats = crypto_atoms - base_crypto_atoms # if commission_percentage > 0:
else: # effective_commission = commission_percentage * (100 - discount) / 100
base_crypto_atoms = crypto_atoms # base_crypto_atoms = int(crypto_atoms / (1 + effective_commission))
commission_amount_sats = 0 # commission_amount_sats = crypto_atoms - base_crypto_atoms
# else:
return { # base_crypto_atoms = crypto_atoms
"success": True, # commission_amount_sats = 0
"message": "Test transaction processed successfully", #
"transaction_details": { # return {
"transaction_id": mock_transaction["transaction_id"], # "success": True,
"total_amount_sats": crypto_atoms, # "message": "Test transaction processed successfully",
"base_amount_sats": base_crypto_atoms, # "transaction_details": {
"commission_amount_sats": commission_amount_sats, # "transaction_id": mock_transaction["transaction_id"],
"commission_percentage": commission_percentage # "total_amount_sats": crypto_atoms,
* 100, # Show as percentage # "base_amount_sats": base_crypto_atoms,
"effective_commission": effective_commission * 100 # "commission_amount_sats": commission_amount_sats,
if commission_percentage > 0 # "commission_percentage": commission_percentage
else 0, # * 100, # Show as percentage
"discount": discount, # "effective_commission": effective_commission * 100
}, # if commission_percentage > 0
} # else 0,
# "discount": discount,
except Exception as e: # },
raise HTTPException( # }
status_code=HTTPStatus.INTERNAL_SERVER_ERROR, #
detail=f"Error processing test transaction: {str(e)}", # except Exception as e:
) # raise HTTPException(
# status_code=HTTPStatus.INTERNAL_SERVER_ERROR,
# detail=f"Error processing test transaction: {str(e)}",
# )
# Lamassu Transaction Endpoints # Lamassu Transaction Endpoints