diff --git a/.github/workflows/regtest.yml b/.github/workflows/regtest.yml index ecba4090..57b7e1f4 100644 --- a/.github/workflows/regtest.yml +++ b/.github/workflows/regtest.yml @@ -134,3 +134,46 @@ jobs: uses: codecov/codecov-action@v3 with: file: ./coverage.xml + EclairWallet: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.9"] + poetry-version: ["1.3.1"] + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Set up Poetry ${{ matrix.poetry-version }} + uses: abatilo/actions-poetry@v2 + with: + poetry-version: ${{ matrix.poetry-version }} + - name: Setup Regtest + run: | + docker build -t lnbitsdocker/lnbits-legend . + git clone https://github.com/lnbits/legend-regtest-enviroment.git docker + cd docker + chmod +x ./tests + ./tests + sudo chmod -R a+rwx . + - name: Install dependencies + run: | + poetry config virtualenvs.create false + poetry install + - name: Run tests + env: + PYTHONUNBUFFERED: 1 + PORT: 5123 + LNBITS_DATA_FOLDER: ./data + LNBITS_BACKEND_WALLET_CLASS: EclairWallet + ECLAIR_URL: http://127.0.0.1:8082 + ECLAIR_PASS: lnbits + run: | + sudo chmod -R a+rwx . && rm -rf ./data && mkdir -p ./data + make test-real-wallet + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v3 + with: + file: ./coverage.xml diff --git a/lnbits/extensions/cashu/views_api.py b/lnbits/extensions/cashu/views_api.py index 2017df00..dfd20cef 100644 --- a/lnbits/extensions/cashu/views_api.py +++ b/lnbits/extensions/cashu/views_api.py @@ -302,7 +302,7 @@ async def melt_coins( await ledger._set_proofs_pending(proofs) try: - ledger._verify_proofs(proofs) + await ledger._verify_proofs(proofs) total_provided = sum([p["amount"] for p in proofs]) invoice_obj = bolt11.decode(invoice) @@ -343,13 +343,13 @@ async def melt_coins( else: logger.debug(f"Cashu: Payment failed for {invoice_obj.payment_hash}") except Exception as e: - logger.debug(f"Cashu: Exception for {invoice_obj.payment_hash}: {str(e)}") + logger.debug(f"Cashu: Exception: {str(e)}") raise HTTPException( status_code=HTTPStatus.BAD_REQUEST, detail=f"Cashu: {str(e)}", ) finally: - logger.debug(f"Cashu: Unset pending for {invoice_obj.payment_hash}") + logger.debug(f"Cashu: Unset pending") # delete proofs from pending list await ledger._unset_proofs_pending(proofs)