mirror of
https://github.com/Routstr/routstr-core.git
synced 2026-08-09 11:04:36 +00:00
63 lines
1.9 KiB
Python
63 lines
1.9 KiB
Python
"""
|
|
Script to test real Cashu mint integration.
|
|
Run this with USE_REAL_MINT=true after starting a Cashu mint instance.
|
|
"""
|
|
|
|
import asyncio
|
|
import os
|
|
|
|
try:
|
|
from .real_testmint import create_real_mint_wallet
|
|
except ImportError:
|
|
# sixty_nuts not available, tests will be skipped
|
|
create_real_mint_wallet = None # type: ignore
|
|
|
|
|
|
async def test_real_wallet() -> None:
|
|
"""Test basic operations with a real Cashu mint wallet"""
|
|
print("Testing real Cashu mint wallet...")
|
|
|
|
# Check if sixty_nuts dependency is available
|
|
if create_real_mint_wallet is None:
|
|
print("sixty_nuts not available. Skipping real mint tests.")
|
|
return
|
|
|
|
# Check if real mint is enabled
|
|
if os.environ.get("USE_REAL_MINT", "false").lower() != "true":
|
|
print("USE_REAL_MINT is not set to true. Set it to test real Cashu mint.")
|
|
return
|
|
|
|
try:
|
|
# Create wallet
|
|
wallet = await create_real_mint_wallet()
|
|
print(f"Created wallet connected to: {wallet.mint_url}")
|
|
|
|
# Get balance
|
|
balance = await wallet.get_balance()
|
|
print(f"Wallet balance: {balance} sats")
|
|
|
|
# Test send operation (create a token)
|
|
if balance > 100:
|
|
token = await wallet.send(100)
|
|
print("Created token for 100 sats")
|
|
print(f" Token: {token[:50]}...")
|
|
|
|
# Test redeem operation
|
|
amount, metadata = await wallet.redeem(token)
|
|
print(f"Redeemed token: {amount} sats")
|
|
else:
|
|
print("WARNING: Insufficient balance to test send/redeem operations")
|
|
|
|
print("\nReal Cashu mint integration is working!")
|
|
|
|
except Exception as e:
|
|
print(f"\nError testing real Cashu mint: {e}")
|
|
print("\nMake sure:")
|
|
print("1. Cashu mint is running (use ./setup_cashu_mint.sh)")
|
|
print("2. MINT_URL is set correctly")
|
|
print("3. The mint has some balance for testing")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(test_real_wallet())
|