add api docs and update according to requirements
This commit is contained in:
parent
209750386e
commit
1b2e8d218d
2 changed files with 384 additions and 169 deletions
221
lnbits/extensions/deezy/templates/deezy/_api_docs.html
Normal file
221
lnbits/extensions/deezy/templates/deezy/_api_docs.html
Normal file
|
|
@ -0,0 +1,221 @@
|
|||
<q-expansion-item
|
||||
group="extras"
|
||||
icon="swap_vertical_circle"
|
||||
label="About Deezy"
|
||||
:content-inset-level="0.5"
|
||||
>
|
||||
<q-card>
|
||||
<q-card-section>
|
||||
<img alt="" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNTMwLjA5IDEzNi43MyI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNmZmY7fS5jbHMtMntmaWxsLXJ1bGU6ZXZlbm9kZDtmaWxsOnVybCgjbGluZWFyLWdyYWRpZW50KTt9LmNscy0ze2ZpbGw6I2ZmYzkyYjt9PC9zdHlsZT48bGluZWFyR3JhZGllbnQgaWQ9ImxpbmVhci1ncmFkaWVudCIgeDE9IjUxLjY5IiB5MT0iMzEuNjciIHgyPSIxODAuMjMiIHkyPSIxMDUuMTIiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNmZmYyMWYiLz48c3RvcCBvZmZzZXQ9IjAuMjkiIHN0b3AtY29sb3I9IiNmZmNkMmQiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNmNzkyMzMiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48ZyBpZD0iTGF5ZXJfMiIgZGF0YS1uYW1lPSJMYXllciAyIj48ZyBpZD0iTGF5ZXJfMS0yIiBkYXRhLW5hbWU9IkxheWVyIDEiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTYxLjg5LDBoNTcuNTVDMTMzLjksMCwxNDUsMS40NCwxNTIuOTIsNC4zM2MxNC4yMSw1LjA1LDIzLjYsMTQuMTgsMjguNjYsMjcuNjRMMTUyLjY4LDQ2LjRsLS4yMy0uNDhjLTIuMTgtNi43NC01LjA2LTExLjU0LTguNDMtMTQuOUEyNS40MywyNS40MywwLDAsMCwxMzIsMjUuNDlsLS4yNC0yLjg5LTMuMTMsMi4xNmE1NC4xMSw1NC4xMSwwLDAsMC05LjE2LS40OEg5MC43OVY1MUw2MS44OSw3MC42OFptMTI1LDU0LjgxQTEyNC43NiwxMjQuNzYsMCwwLDEsMTg3LjYsNjhhMTA4LjM4LDEwOC4zOCwwLDAsMS01LjMsMzQuNjJjLTMuMzcsMTEuMy05LjM5LDE5LjQ3LTE3LjU4LDI0Ljc2YTQ2LjE4LDQ2LjE4LDAsMCwxLTE3LjA5LDYuNDljLTYsMS4yLTE1LjQxLDEuNjgtMjguMTksMS42OEg2MS44OVY5OS4yOWwyOC45LTE0LjQzdjI2LjY5aDExLjU2bC4yNCwyLjE2LDMuMzctMi4xNmgxMy40OGMxMi43OCwwLDIxLjQ0LTIuODksMjYuMjYtOC40MiwzLjEzLTMuNiw1LjU0LTguNDEsNy4yMi0xNC45YTU0LjI4LDU0LjI4LDAsMCwwLDIuNDEtMTEuM1oiLz48cG9seWdvbiBjbGFzcz0iY2xzLTIiIHBvaW50cz0iMCAxMjIuMTMgMTI1LjcxIDM1LjU4IDEyOC44NSA2Ni41OSAyMzEuOTIgMTQuNjcgMTA4LjM3IDEwMC45NyAxMDQuNzYgNjkuNzEgMCAxMjIuMTMiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0yNjYuNjksMjguNjhoMTN2ODRoLTEzVjEwNHEtNy4zMiwxMC4yLTIxLDEwLjJhMjguMTQsMjguMTQsMCwwLDEtMjEuMTItOS4xOCwzMS4yMSwzMS4yMSwwLDAsMS04Ljc2LTIyLjM4LDMxLjE1LDMxLjE1LDAsMCwxLDguNzYtMjIuNDQsMjguMjMsMjguMjMsMCwwLDEsMjEuMTItOS4xMnExMy42OCwwLDIxLDEwLjA4Wk0yMzQuMTcsOTYuNDJhMTkuNTcsMTkuNTcsMCwwLDAsMjcuMTIsMCwxOC43NCwxOC43NCwwLDAsMCw1LjQtMTMuNzQsMTguNzQsMTguNzQsMCwwLDAtNS40LTEzLjc0LDE5LjU3LDE5LjU3LDAsMCwwLTI3LjEyLDAsMTguNzQsMTguNzQsMCwwLDAtNS40LDEzLjc0QTE4Ljc0LDE4Ljc0LDAsMCwwLDIzNC4xNyw5Ni40MloiLz48cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Ik0zMDIsODguMmExNi40OCwxNi40OCwwLDAsMCw2LjYsMTAuNSwyMS4yMiwyMS4yMiwwLDAsMCwxMi42LDMuNjZxMTAuMzIsMCwxNS40OC03LjQ0bDEwLjY4LDYuMjRxLTguODgsMTMuMDgtMjYuMjgsMTMuMDgtMTQuNjQsMC0yMy42NC04Ljk0dC05LTIyLjYycTAtMTMuNDQsOC44OC0yMi41dDIyLjgtOS4wNnExMy4yLDAsMjEuNjYsOS4yNGEzMiwzMiwwLDAsMSw4LjQ2LDIyLjQ0LDQwLjA5LDQwLjA5LDAsMCwxLS40OCw1LjRabS0uMTItMTAuNTZoMzUuMjhxLTEuMzItNy4zMi02LjA2LTExQTE3LjQ1LDE3LjQ1LDAsMCwwLDMyMCw2Mi44OGExOC4yMywxOC4yMywwLDAsMC0xMiw0QTE3Ljg2LDE3Ljg2LDAsMCwwLDMwMS44NSw3Ny42NFoiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0zNjguNDUsODguMmExNi40OCwxNi40OCwwLDAsMCw2LjYsMTAuNSwyMS4yMiwyMS4yMiwwLDAsMCwxMi42LDMuNjZxMTAuMzIsMCwxNS40OC03LjQ0bDEwLjY4LDYuMjRxLTguODgsMTMuMDgtMjYuMjgsMTMuMDgtMTQuNjQsMC0yMy42NC04Ljk0dC05LTIyLjYycTAtMTMuNDQsOC44OC0yMi41dDIyLjgtOS4wNnExMy4yLDAsMjEuNjYsOS4yNGEzMiwzMiwwLDAsMSw4LjQ2LDIyLjQ0LDQwLjA5LDQwLjA5LDAsMCwxLS40OCw1LjRabS0uMTItMTAuNTZoMzUuMjhxLTEuMzItNy4zMi02LjA2LTExYTE3LjQ1LDE3LjQ1LDAsMCwwLTExLjEtMy43MiwxOC4yMywxOC4yMywwLDAsMC0xMiw0QTE3Ljg2LDE3Ljg2LDAsMCwwLDM2OC4zMyw3Ny42NFoiLz48cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Ik00MzcuNTgsMTAwLjQ0aDI5LjE2djEyLjI0SDQxOS45M1YxMDRMNDQ4LDY0LjkySDQyMS4xM1Y1Mi42OGg0NC4zOXY4LjYzWiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTUxNi4yOSw1Mi42OGgxMy44bC0yMyw2MS45MnEtOC42NCwyMy4yOC0yOS4yOCwyMi4wOFYxMjQuNTZxNi4xMi4zNiw5Ljg0LTIuNTh0Ni4xMi05LjE4bC42LTEuMkw0NjguODksNTIuNjhoMTQuMTZsMTcuODksNDMuNTVaIi8+PC9nPjwvZz48L3N2Zz4=" height="40" class="d-inline-block align-top my-2">
|
||||
<h5 class="text-subtitle1 q-my-none">
|
||||
Deezy.io: Do onchain to offchain and vice-versa swaps
|
||||
</h5>
|
||||
<p>
|
||||
Link :
|
||||
<a class="text-light-blue" target="_blank" href="https://deezy.io/">
|
||||
https://deezy.io/
|
||||
</a>
|
||||
</p>
|
||||
<p>
|
||||
<a
|
||||
class="text-light-blue"
|
||||
target="_blank"
|
||||
href="https://docs.deezy.io/"
|
||||
>API DOCS</a
|
||||
>
|
||||
</p>
|
||||
<p>
|
||||
<small
|
||||
>Created by,
|
||||
<a class="text-light-blue" target="_blank" href="https://twitter.com/Uthpala_419">Uthpala</a></small
|
||||
>
|
||||
</p>
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
</q-expansion-item>
|
||||
<q-expansion-item
|
||||
group="extras"
|
||||
icon="swap_vertical_circle"
|
||||
label="API info"
|
||||
:content-inset-level="0.5"
|
||||
>
|
||||
<q-expansion-item group="swap-ln-to-btc" dense expand-separator label="Swap (LIGHTNING TO BTC)" :content-inset-level="0.5">
|
||||
<q-expansion-item group="ln-to-btc" dense expand-separator label="GET Info">
|
||||
<q-card>
|
||||
<q-card-section>
|
||||
<h5 class="text-caption q-mt-sm q-mb-none">
|
||||
Get the current info about the swap service for converting LN btc to on-chain BTC.
|
||||
</h5>
|
||||
<code class="text-light-blue">
|
||||
<span class="text-white">GET (mainnet)</span>
|
||||
https://api.deezy.io/v1/swap/info
|
||||
</code>
|
||||
<br>
|
||||
<code class="text-light-blue">
|
||||
<span class="text-white">GET (testnet)</span>
|
||||
https://api-testnet.deezy.io/v1/swap/info
|
||||
</code>
|
||||
<h6 class="text-caption q-mt-sm q-mb-none">Response</h6>
|
||||
<pre>
|
||||
{
|
||||
"liquidity_fee_ppm": 2000,
|
||||
"on_chain_bytes_estimate": 300,
|
||||
"max_swap_amount_sats": 100000000,
|
||||
"min_swap_amount_sats": 100000,
|
||||
"available": true
|
||||
}
|
||||
</pre>
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
</q-expansion-item>
|
||||
<q-expansion-item
|
||||
group="ln-to-btc"
|
||||
dense
|
||||
expand-separator
|
||||
label="POST New (LN to BTC) Swap"
|
||||
>
|
||||
<q-card>
|
||||
<q-card-section>
|
||||
<h5 class="text-caption q-mt-sm q-mb-none">
|
||||
Initiate a new swap to send lightning btc in exchange for on-chain btc
|
||||
</h5>
|
||||
<code class="text-light-blue">
|
||||
<span class="text-white">POST (mainnet)</span>
|
||||
https://api.deezy.io/v1/swap
|
||||
</code>
|
||||
<br />
|
||||
<code class="text-light-blue">
|
||||
<span class="text-white">POST (testnet)</span>
|
||||
https://api-testnet.deezy.io/v1/swap
|
||||
</code>
|
||||
<h6 class="text-caption q-mt-sm q-mb-none">Payload</h6>
|
||||
<pre>
|
||||
{
|
||||
"amount_sats": 500000,
|
||||
"on_chain_address": "tb1qrcdhlm0m...",
|
||||
"on_chain_sats_per_vbyte": 2
|
||||
}
|
||||
</pre>
|
||||
<h6 class="text-caption q-mt-sm q-mb-none">Response</h6>
|
||||
<pre>
|
||||
{
|
||||
"bolt11_invoice": "lntb603u1p3vmxj7p...",
|
||||
"fee_sats": 600
|
||||
}
|
||||
</pre>
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
</q-expansion-item>
|
||||
<q-expansion-item
|
||||
group="ln-to-btc"
|
||||
dense
|
||||
expand-separator
|
||||
label="GET Lookup (LN to BTC) Swap"
|
||||
>
|
||||
<q-card>
|
||||
<q-card-section>
|
||||
<h5 class="text-caption q-mt-sm q-mb-none">
|
||||
Lookup the on-chain transaction information for an existing swap
|
||||
</h5>
|
||||
<code class="text-light-blue">
|
||||
<span class="text-white">GET (mainnet)</span>
|
||||
https://api.deezy.io/v1/swap/lookup
|
||||
</code>
|
||||
<br />
|
||||
<code class="text-light-blue">
|
||||
<span class="text-white">GET (testnet)</span>
|
||||
https://api-testnet.deezy.io/v1/swap/lookup
|
||||
</code>
|
||||
<h6 class="text-caption q-mt-sm q-mb-none">Query Parameter</h6>
|
||||
<pre>
|
||||
"bolt11_invoice": "lntb603u1p3vmxj7pp54...",
|
||||
</pre>
|
||||
<h6 class="text-caption q-mt-sm q-mb-none">Response</h6>
|
||||
<pre>
|
||||
{
|
||||
"on_chain_txid": "string",
|
||||
"tx_hex": "string"
|
||||
}
|
||||
</pre>
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
</q-expansion-item>
|
||||
</q-expansion-item>
|
||||
<q-expansion-item group="swap-btc-to-ln" dense expand-separator label="Swap (BTC TO LIGHTNING)" :content-inset-level="0.5">
|
||||
<q-expansion-item group="btc-to-ln" dense expand-separator label="POST New On-Chain Deposit Address">
|
||||
<q-card>
|
||||
<q-card-section>
|
||||
<h5 class="text-caption q-mt-sm q-mb-none">
|
||||
Generate an on-chain deposit address for your lnurl or lightning address.
|
||||
</h5>
|
||||
<code class="text-light-blue">
|
||||
<span class="text-white">POST (mainnet)</span>
|
||||
https://api.deezy.io/v1/source
|
||||
</code>
|
||||
<br>
|
||||
<code class="text-light-blue">
|
||||
<span class="text-white">POST (testnet)</span>
|
||||
https://api-testnet.deezy.io/v1/source
|
||||
</code>
|
||||
<h6 class="text-caption q-mt-sm q-mb-none">Payload</h6>
|
||||
<pre>
|
||||
{
|
||||
"lnurl_or_lnaddress": "LNURL1DP68GURN8GHJ...",
|
||||
"secret_access_key": "b3c6056d2845867fa7..",
|
||||
"webhook_url": "https://your.website.com/dee.."
|
||||
}
|
||||
</pre>
|
||||
<h6 class="text-caption q-mt-sm q-mb-none">Response</h6>
|
||||
<pre>
|
||||
{
|
||||
"address": "bc1qkceyc5...",
|
||||
"secret_access_key": "b3c6056d28458...",
|
||||
"commitment": "for any satoshis sent to bc1..",
|
||||
"signature": "d69j6aj1ssz5egmsr..",
|
||||
"webhook_url": "https://your.website.com/deez.."
|
||||
}
|
||||
</pre>
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
</q-expansion-item>
|
||||
<q-expansion-item group="btc-to-ln" dense expand-separator label="GET Lookup (BTC to LN) Swaps">
|
||||
<q-card>
|
||||
<q-card-section>
|
||||
<h5 class="text-caption q-mt-sm q-mb-none">
|
||||
Lookup (BTC to LN) swaps
|
||||
</h5>
|
||||
<code class="text-light-blue">
|
||||
<span class="text-white">GET (mainnet)</span>
|
||||
https://api.deezy.io/v1/source/lookup
|
||||
</code>
|
||||
<br>
|
||||
<code class="text-light-blue">
|
||||
<span class="text-white">GET (testnet)</span>
|
||||
https://api-testnet.deezy.io/v1/source/lookup
|
||||
</code>
|
||||
<h6 class="text-caption q-mt-sm q-mb-none">Response</h6>
|
||||
<pre>
|
||||
{
|
||||
"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
|
||||
}
|
||||
</pre>
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
</q-expansion-item>
|
||||
</q-expansion-item>
|
||||
</q-expansion-item>
|
||||
|
|
@ -1,6 +1,8 @@
|
|||
{% extends "base.html" %} {% from "macros.jinja" import window_vars with context
|
||||
%} {% block page %}
|
||||
<q-card>
|
||||
<div class="row q-col-gutter-md">
|
||||
<div class="col-12 col-md-8 col-lg-7 q-gutter-y-md">
|
||||
<q-card>
|
||||
<q-card-section>
|
||||
<h5 class="text-subtitle1 q-mt-none q-mb-md">
|
||||
Deezy
|
||||
|
|
@ -9,7 +11,7 @@
|
|||
<q-card>
|
||||
<q-card-section>
|
||||
<q-btn
|
||||
label="Swap (In)"
|
||||
label="SWAP (LIGHTNING -> BTC)"
|
||||
unelevated
|
||||
color="primary"
|
||||
@click="swapLnToBtc.show = true; swapBtcToLn.show = false"
|
||||
|
|
@ -19,7 +21,7 @@
|
|||
</q-tooltip>
|
||||
</q-btn>
|
||||
<q-btn
|
||||
label="Reverse Swap (Out)"
|
||||
label="SWAP (BTC -> LIGHTNING)"
|
||||
unelevated
|
||||
color="primary"
|
||||
@click="swapBtcToLn.show = true; swapLnToBtc.show = false;"
|
||||
|
|
@ -31,7 +33,7 @@
|
|||
</q-card-section>
|
||||
</q-card>
|
||||
<div v-show="swapLnToBtc.show" class="q-pa-lg q-pt-xl lnbits__dialog-card">
|
||||
<h6 class="q-mt-none">Lightning Btc -> Btc</h6>
|
||||
<h6 class="q-mt-none">LIGHTNING BTC -> BTC</h6>
|
||||
<q-form @submit="sendLnToBtc" class="q-gutter-md">
|
||||
<q-input
|
||||
filled
|
||||
|
|
@ -101,7 +103,7 @@
|
|||
</q-dialog>
|
||||
</div>
|
||||
<div v-show="swapBtcToLn.show" class="q-pa-lg q-pt-xl lnbits__dialog-card">
|
||||
<h6 class="q-mt-none">Btc -> Lightning Btc</h6>
|
||||
<h6 class="q-mt-none">BTC -> LIGHTNING BTC</h6>
|
||||
<q-form @submit="sendBtcToLn" class="q-gutter-md">
|
||||
<q-input
|
||||
filled
|
||||
|
|
@ -111,22 +113,6 @@
|
|||
label="Lnurl or Lightning Address"
|
||||
type="string"
|
||||
></q-input>
|
||||
<q-input
|
||||
filled
|
||||
dense
|
||||
emit-value
|
||||
v-model.trim="swapBtcToLn.data.secret_access_key"
|
||||
type="string"
|
||||
label="Secret Access Key"
|
||||
></q-input>
|
||||
<q-input
|
||||
filled
|
||||
dense
|
||||
emit-value
|
||||
v-model.trim="swapBtcToLn.data.webhook_url"
|
||||
label="Webhook url"
|
||||
type="string"
|
||||
></q-input>
|
||||
<q-btn
|
||||
unelevated
|
||||
color="primary"
|
||||
|
|
@ -163,14 +149,24 @@
|
|||
<q-card-section>
|
||||
Signature - {{ swapBtcToLn.response.signature }}
|
||||
</q-card-section>
|
||||
<q-card-section>
|
||||
Webhook Url - {{ swapBtcToLn.response.webhook_url }}
|
||||
</q-card-section>
|
||||
{% endraw %}
|
||||
</q-card>
|
||||
</q-dialog>
|
||||
</div>
|
||||
</q-card>
|
||||
</q-card>
|
||||
</div>
|
||||
<div class="col-12 col-md-4 col-lg-5 q-gutter-y-md">
|
||||
<q-card>
|
||||
<q-card-section>
|
||||
<h6 class="text-subtitle1 q-my-none">{{SITE_TITLE}} Boltz extension</h6>
|
||||
</q-card-section>
|
||||
<q-card-section class="q-pa-none">
|
||||
<q-separator></q-separator>
|
||||
<q-list> {% include "deezy/_api_docs.html" %} </q-list>
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %} {% block scripts %} {{ window_vars(user) }}
|
||||
<script>
|
||||
Vue.component(VueQrcode.name, VueQrcode)
|
||||
|
|
@ -223,8 +219,6 @@
|
|||
var self = this
|
||||
axios.post('https://api-testnet.deezy.io/v1/source', {
|
||||
lnurl_or_lnaddress: self.swapBtcToLn.data.lnurl_or_lnaddress,
|
||||
secret_access_key: self.swapBtcToLn.data.secret_access_key,
|
||||
webhook_url: self.swapBtcToLn.data.webhook_url
|
||||
})
|
||||
.then(function (response) {
|
||||
self.swapBtcToLn = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue