From d89de028643b5b79fa3eab6d19f5e1b322a999d4 Mon Sep 17 00:00:00 2001 From: Arc <33088785+arcbtc@users.noreply.github.com> Date: Fri, 17 Feb 2023 14:22:39 +0000 Subject: [PATCH] Remove deezy (#1513) --- lnbits/extensions/deezy/README.md | 11 - lnbits/extensions/deezy/__init__.py | 25 - lnbits/extensions/deezy/config.json | 6 - lnbits/extensions/deezy/crud.py | 114 ---- lnbits/extensions/deezy/migrations.py | 37 -- lnbits/extensions/deezy/models.py | 31 - lnbits/extensions/deezy/static/deezy.png | Bin 5196 -> 0 bytes .../deezy/templates/deezy/_api_docs.html | 253 -------- .../deezy/templates/deezy/index.html | 588 ------------------ lnbits/extensions/deezy/views.py | 21 - lnbits/extensions/deezy/views_api.py | 65 -- 11 files changed, 1151 deletions(-) delete mode 100644 lnbits/extensions/deezy/README.md delete mode 100644 lnbits/extensions/deezy/__init__.py delete mode 100644 lnbits/extensions/deezy/config.json delete mode 100644 lnbits/extensions/deezy/crud.py delete mode 100644 lnbits/extensions/deezy/migrations.py delete mode 100644 lnbits/extensions/deezy/models.py delete mode 100644 lnbits/extensions/deezy/static/deezy.png delete mode 100644 lnbits/extensions/deezy/templates/deezy/_api_docs.html delete mode 100644 lnbits/extensions/deezy/templates/deezy/index.html delete mode 100644 lnbits/extensions/deezy/views.py delete mode 100644 lnbits/extensions/deezy/views_api.py diff --git a/lnbits/extensions/deezy/README.md b/lnbits/extensions/deezy/README.md deleted file mode 100644 index c8c0678a7..000000000 --- a/lnbits/extensions/deezy/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# Deezy: Home for Lightning Liquidity -Swap lightning bitcoin for on-chain bitcoin to get inbound liquidity. Or get an on-chain deposit address for your lightning address. -* [Website](https://deezy.io) -* [Lightning Node](https://amboss.space/node/024bfaf0cabe7f874fd33ebf7c6f4e5385971fc504ef3f492432e9e3ec77e1b5cf) -* [Documentation](https://docs.deezy.io) -* [Discord](https://discord.gg/nEBbrUAvPy) - -# Usage -This extension lets you swap lightning btc for on-chain btc and vice versa. -* Swap Lightning -> BTC to get inbound liquidity -* Swap BTC -> Lightning to generate an on-chain deposit address for your lightning address \ No newline at end of file diff --git a/lnbits/extensions/deezy/__init__.py b/lnbits/extensions/deezy/__init__.py deleted file mode 100644 index 60596445c..000000000 --- a/lnbits/extensions/deezy/__init__.py +++ /dev/null @@ -1,25 +0,0 @@ -from fastapi import APIRouter -from starlette.staticfiles import StaticFiles - -from lnbits.db import Database -from lnbits.helpers import template_renderer - -db = Database("ext_deezy") - -deezy_ext: APIRouter = APIRouter(prefix="/deezy", tags=["deezy"]) - -deezy_static_files = [ - { - "path": "/deezy/static", - "app": StaticFiles(directory="lnbits/extensions/deezy/static"), - "name": "deezy_static", - } -] - - -def deezy_renderer(): - return template_renderer(["lnbits/extensions/deezy/templates"]) - - -from .views import * # noqa: F401,F403 -from .views_api import * # noqa: F401,F403 diff --git a/lnbits/extensions/deezy/config.json b/lnbits/extensions/deezy/config.json deleted file mode 100644 index 4f945a791..000000000 --- a/lnbits/extensions/deezy/config.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "Deezy", - "short_description": "LN to onchain, onchain to LN swaps", - "tile": "/deezy/static/deezy.png", - "contributors": ["Uthpala"] -} diff --git a/lnbits/extensions/deezy/crud.py b/lnbits/extensions/deezy/crud.py deleted file mode 100644 index 38adc2666..000000000 --- a/lnbits/extensions/deezy/crud.py +++ /dev/null @@ -1,114 +0,0 @@ -from typing import List, Optional - -from . import db -from .models import BtcToLnSwap, LnToBtcSwap, Token, UpdateLnToBtcSwap - - -async def get_ln_to_btc() -> List[LnToBtcSwap]: - - rows = await db.fetchall( - "SELECT * FROM deezy.ln_to_btc_swap ORDER BY created_at DESC", - ) - - return [LnToBtcSwap(**row) for row in rows] - - -async def get_btc_to_ln() -> List[BtcToLnSwap]: - - rows = await db.fetchall( - "SELECT * FROM deezy.btc_to_ln_swap ORDER BY created_at DESC", - ) - - return [BtcToLnSwap(**row) for row in rows] - - -async def get_token() -> Optional[Token]: - - row = await db.fetchone( - "SELECT * FROM deezy.token ORDER BY created_at DESC", - ) - - return Token(**row) if row else None - - -async def save_token( - data: Token, -) -> Token: - - await db.execute( - """ - INSERT INTO deezy.token ( - deezy_token - ) - VALUES (?) - """, - (data.deezy_token,), - ) - return data - - -async def save_ln_to_btc( - data: LnToBtcSwap, -) -> LnToBtcSwap: - - return await db.execute( - """ - INSERT INTO deezy.ln_to_btc_swap ( - amount_sats, - on_chain_address, - on_chain_sats_per_vbyte, - bolt11_invoice, - fee_sats, - txid, - tx_hex - ) - VALUES (?,?,?,?,?,?,?) - """, - ( - data.amount_sats, - data.on_chain_address, - data.on_chain_sats_per_vbyte, - data.bolt11_invoice, - data.fee_sats, - data.txid, - data.tx_hex, - ), - ) - - -async def update_ln_to_btc(data: UpdateLnToBtcSwap) -> str: - await db.execute( - """ - UPDATE deezy.ln_to_btc_swap - SET txid = ?, tx_hex = ? - WHERE bolt11_invoice = ? - """, - (data.txid, data.tx_hex, data.bolt11_invoice), - ) - - return data.txid - - -async def save_btc_to_ln( - data: BtcToLnSwap, -) -> BtcToLnSwap: - - return await db.execute( - """ - INSERT INTO deezy.btc_to_ln_swap ( - ln_address, - on_chain_address, - secret_access_key, - commitment, - signature - ) - VALUES (?,?,?,?,?) - """, - ( - data.ln_address, - data.on_chain_address, - data.secret_access_key, - data.commitment, - data.signature, - ), - ) diff --git a/lnbits/extensions/deezy/migrations.py b/lnbits/extensions/deezy/migrations.py deleted file mode 100644 index 42c3973e9..000000000 --- a/lnbits/extensions/deezy/migrations.py +++ /dev/null @@ -1,37 +0,0 @@ -async def m001_initial(db): - await db.execute( - f""" - CREATE TABLE deezy.ln_to_btc_swap ( - id TEXT PRIMARY KEY, - amount_sats {db.big_int} NOT NULL, - on_chain_address TEXT NOT NULL, - on_chain_sats_per_vbyte INT NOT NULL, - bolt11_invoice TEXT NOT NULL, - fee_sats {db.big_int} NOT NULL, - txid TEXT NULL, - tx_hex TEXT NULL, - created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP - ); - """ - ) - await db.execute( - """ - CREATE TABLE deezy.btc_to_ln_swap ( - id TEXT PRIMARY KEY, - ln_address TEXT NOT NULL, - on_chain_address TEXT NOT NULL, - secret_access_key TEXT NOT NULL, - commitment TEXT NOT NULL, - signature TEXT NOT NULL, - created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP - ); - """ - ) - await db.execute( - """ - CREATE TABLE deezy.token ( - deezy_token TEXT NOT NULL, - created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP - ); - """ - ) diff --git a/lnbits/extensions/deezy/models.py b/lnbits/extensions/deezy/models.py deleted file mode 100644 index ad0c03cba..000000000 --- a/lnbits/extensions/deezy/models.py +++ /dev/null @@ -1,31 +0,0 @@ -from pydantic.main import BaseModel - - -class Token(BaseModel): - deezy_token: str - - -class LnToBtcSwap(BaseModel): - amount_sats: int - on_chain_address: str - on_chain_sats_per_vbyte: int - bolt11_invoice: str - fee_sats: int - txid: str = "" - tx_hex: str = "" - created_at: str = "" - - -class UpdateLnToBtcSwap(BaseModel): - txid: str - tx_hex: str - bolt11_invoice: str - - -class BtcToLnSwap(BaseModel): - ln_address: str - on_chain_address: str - secret_access_key: str - commitment: str - signature: str - created_at: str = "" diff --git a/lnbits/extensions/deezy/static/deezy.png b/lnbits/extensions/deezy/static/deezy.png deleted file mode 100644 index cb526705c4f83e165699236de8bdf4d69b61e1b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5196 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 At^fc4 diff --git a/lnbits/extensions/deezy/templates/deezy/_api_docs.html b/lnbits/extensions/deezy/templates/deezy/_api_docs.html deleted file mode 100644 index 4a4e9e300..000000000 --- a/lnbits/extensions/deezy/templates/deezy/_api_docs.html +++ /dev/null @@ -1,253 +0,0 @@ - - - - -
- Deezy.io: Do onchain to offchain and vice-versa swaps -
-

- Link : - - https://deezy.io/ - -

-

- API DOCS -

-

- Created by, - Uthpala -

-
-
-
- - - - - -
- Get the current info about the swap service for converting LN btc to - on-chain BTC. -
- - GET (mainnet) - https://api.deezy.io/v1/swap/info - -
- - GET (testnet) - https://api-testnet.deezy.io/v1/swap/info - -
Response
-
-            {
-              "liquidity_fee_ppm": 2000,
-              "on_chain_bytes_estimate": 300,
-              "max_swap_amount_sats": 100000000,
-              "min_swap_amount_sats": 100000,
-              "available": true
-            }
-          
-
-
-
- - - -
- Initiate a new swap to send lightning btc in exchange for on-chain - btc -
- - POST (mainnet) - https://api.deezy.io/v1/swap - -
- - POST (testnet) - https://api-testnet.deezy.io/v1/swap - -
Payload
-
-            {
-              "amount_sats": 500000,
-              "on_chain_address": "tb1qrcdhlm0m...",
-              "on_chain_sats_per_vbyte": 2
-            }
-          
-
Response
-
-            {
-              "bolt11_invoice": "lntb603u1p3vmxj7p...",
-              "fee_sats": 600
-            }
-          
-
-
-
- - - -
- Lookup the on-chain transaction information for an existing swap -
- - GET (mainnet) - https://api.deezy.io/v1/swap/lookup - -
- - GET (testnet) - https://api-testnet.deezy.io/v1/swap/lookup - -
Query Parameter
-
-            "bolt11_invoice": "lntb603u1p3vmxj7pp54...",
-          
-
Response
-
-            {
-              "on_chain_txid": "string",
-              "tx_hex": "string"
-            }
-          
-
-
-
-
- - - - -
- Generate an on-chain deposit address for your lnurl or lightning - address. -
- - POST (mainnet) - https://api.deezy.io/v1/source - -
- - POST (testnet) - https://api-testnet.deezy.io/v1/source - -
Payload
-
-            {
-              "lnurl_or_lnaddress": "LNURL1DP68GURN8GHJ...",
-              "secret_access_key": "b3c6056d2845867fa7..",
-              "webhook_url": "https://your.website.com/dee.."
-            }
-          
-
Response
-
-            {
-              "address": "bc1qkceyc5...",
-              "secret_access_key": "b3c6056d28458...",
-              "commitment": "for any satoshis sent to bc1..",
-              "signature": "d69j6aj1ssz5egmsr..",
-              "webhook_url": "https://your.website.com/deez.."
-            }
-          
-
-
-
- - - -
- Lookup (BTC to LN) swaps -
- - GET (mainnet) - https://api.deezy.io/v1/source/lookup - -
- - GET (testnet) - https://api-testnet.deezy.io/v1/source/lookup - -
Response
-
-            {
-              "swaps": [
-                {
-                  "lnurl_or_lnaddress": "string",
-                  "deposit_address": "string",
-                  "utxo_key": "string",
-                  "deposit_amount_sats": 0,
-                  "target_payout_amount_sats": 0,
-                  "paid_amount_sats": 0,
-                  "deezy_fee_sats": 0,
-                  "status": "string"
-                }
-              ],
-              "total_sent_sats": 0,
-              "total_received_sats": 0,
-              "total_pending_payout_sats": 0,
-              "total_deezy_fees_sats": 0
-            }
-          
-
-
-
-
-
diff --git a/lnbits/extensions/deezy/templates/deezy/index.html b/lnbits/extensions/deezy/templates/deezy/index.html deleted file mode 100644 index 9d112ef13..000000000 --- a/lnbits/extensions/deezy/templates/deezy/index.html +++ /dev/null @@ -1,588 +0,0 @@ -{% extends "base.html" %} {% from "macros.jinja" import window_vars with context -%} {% block page %} -
-
- - -
Deezy
-

- An access token is required to use the swap service. Email - support@deezy.io or contact @dannydeezy on telegram to get one. -

-
-
- Deezy token - Add or Update token -
-

-
- - - - - - - - - - Send lightning btc and receive on-chain btc - - - - - Send on-chain btc and receive via lightning - - - - -
-
LIGHTNING BTC -> BTC
- - - - - - - Cancel - - - - -
-
Pay invoice to complete swap
- - - -
-
- - - - - - - -
-
-
-
-
BTC -> LIGHTNING BTC
- - - - Cancel - - - - -
-
Onchain Address
- - - -
-
- - - - - - - - - -
-
-
-
-
- {% raw %} - - - -
Success Bitcoin is on its way
-
- - - Onchain tx id {{ swapLnToBtc.onchainTxId }} - - - - - -
-
- {% endraw %} -
-
- - -
{{SITE_TITLE}} Deezy extension
-
- - - {% include "deezy/_api_docs.html" %} - -
-
-
- -
-
- -
-
-{% endblock %} {% block scripts %} {{ window_vars(user) }} - -{% endblock %} diff --git a/lnbits/extensions/deezy/views.py b/lnbits/extensions/deezy/views.py deleted file mode 100644 index c4cc4b22c..000000000 --- a/lnbits/extensions/deezy/views.py +++ /dev/null @@ -1,21 +0,0 @@ -from fastapi import Request -from fastapi.params import Depends -from fastapi.templating import Jinja2Templates -from starlette.responses import HTMLResponse - -from lnbits.core.models import User -from lnbits.decorators import check_user_exists - -from . import deezy_ext, deezy_renderer - -templates = Jinja2Templates(directory="templates") - - -@deezy_ext.get("/", response_class=HTMLResponse) -async def index( - request: Request, - user: User = Depends(check_user_exists), # type: ignore -): - return deezy_renderer().TemplateResponse( - "deezy/index.html", {"request": request, "user": user.dict()} - ) diff --git a/lnbits/extensions/deezy/views_api.py b/lnbits/extensions/deezy/views_api.py deleted file mode 100644 index 1006edeb8..000000000 --- a/lnbits/extensions/deezy/views_api.py +++ /dev/null @@ -1,65 +0,0 @@ -# views_api.py is for you API endpoints that could be hit by another service - -# add your dependencies here - -# import httpx -# (use httpx just like requests, except instead of response.ok there's only the -# response.is_error that is its inverse) - -from . import deezy_ext -from .crud import ( - get_btc_to_ln, - get_ln_to_btc, - get_token, - save_btc_to_ln, - save_ln_to_btc, - save_token, - update_ln_to_btc, -) -from .models import BtcToLnSwap, LnToBtcSwap, Token, UpdateLnToBtcSwap - - -@deezy_ext.get("/api/v1/token") -async def api_deezy_get_token(): - rows = await get_token() - return rows - - -@deezy_ext.get("/api/v1/ln-to-btc") -async def api_deezy_get_ln_to_btc(): - rows = await get_ln_to_btc() - return rows - - -@deezy_ext.get("/api/v1/btc-to-ln") -async def api_deezy_get_btc_to_ln(): - rows = await get_btc_to_ln() - return rows - - -@deezy_ext.post("/api/v1/store-token") -async def api_deezy_save_toke(data: Token): - await save_token(data) - - return data.deezy_token - - -@deezy_ext.post("/api/v1/store-ln-to-btc") -async def api_deezy_save_ln_to_btc(data: LnToBtcSwap): - response = await save_ln_to_btc(data) - - return response - - -@deezy_ext.post("/api/v1/update-ln-to-btc") -async def api_deezy_update_ln_to_btc(data: UpdateLnToBtcSwap): - response = await update_ln_to_btc(data) - - return response - - -@deezy_ext.post("/api/v1/store-btc-to-ln") -async def api_deezy_save_btc_to_ln(data: BtcToLnSwap): - response = await save_btc_to_ln(data) - - return response