mirror of
https://github.com/RoboSats/robosats.git
synced 2025-02-22 13:19:02 +00:00
Merge branch 'main' into the-federation-layer-v0.6.0
This commit is contained in:
commit
0f8ebdc0b1
33
api/admin.py
33
api/admin.py
@ -11,6 +11,7 @@ from rest_framework.authtoken.models import TokenProxy
|
||||
from api.logics import Logics
|
||||
from api.models import Currency, LNPayment, MarketTick, OnchainPayment, Order, Robot
|
||||
from api.utils import objects_to_hyperlinks
|
||||
from api.tasks import send_notification
|
||||
|
||||
admin.site.unregister(Group)
|
||||
admin.site.unregister(User)
|
||||
@ -135,6 +136,7 @@ class OrderAdmin(AdminChangeLinksMixin, admin.ModelAdmin):
|
||||
return format_html(f'<table style="width: 100%">{with_hyperlinks}</table>')
|
||||
|
||||
actions = [
|
||||
"cancel_public_order",
|
||||
"maker_wins",
|
||||
"taker_wins",
|
||||
"return_everything",
|
||||
@ -142,6 +144,37 @@ class OrderAdmin(AdminChangeLinksMixin, admin.ModelAdmin):
|
||||
"compute_median_trade_time",
|
||||
]
|
||||
|
||||
@admin.action(description="Close public order")
|
||||
def cancel_public_order(self, request, queryset):
|
||||
"""
|
||||
Closes an existing Public/Paused order.
|
||||
"""
|
||||
for order in queryset:
|
||||
if order.status in [Order.Status.PUB, Order.Status.PAU]:
|
||||
if Logics.return_bond(order.maker_bond):
|
||||
order.update_status(Order.Status.UCA)
|
||||
self.message_user(
|
||||
request,
|
||||
f"Order {order.id} successfully closed",
|
||||
messages.SUCCESS,
|
||||
)
|
||||
send_notification.delay(
|
||||
order_id=order.id, message="coordinator_cancelled"
|
||||
)
|
||||
else:
|
||||
self.message_user(
|
||||
request,
|
||||
f"Could not unlock bond of {order.id}",
|
||||
messages.ERROR,
|
||||
)
|
||||
|
||||
else:
|
||||
self.message_user(
|
||||
request,
|
||||
f"Order {order.id} is not public or paused",
|
||||
messages.ERROR,
|
||||
)
|
||||
|
||||
@admin.action(description="Solve dispute: maker wins")
|
||||
def maker_wins(self, request, queryset):
|
||||
"""
|
||||
|
@ -185,3 +185,9 @@ class Telegram:
|
||||
self.send_message(user.robot.telegram_chat_id, text)
|
||||
|
||||
return
|
||||
|
||||
def coordinator_cancelled(self, order):
|
||||
if order.maker.robot.telegram_enabled:
|
||||
text = f"🛠️ Your order with ID {order.id} has been cancelled by the coordinator {config('COORDINATOR_ALIAS', cast=str, default='NoAlias')} for the upcoming maintenance stop."
|
||||
self.send_message(order.maker.robot.telegram_chat_id, text)
|
||||
return
|
||||
|
@ -304,4 +304,7 @@ def send_notification(order_id=None, chat_message_id=None, message=None):
|
||||
elif message == "new_chat_message":
|
||||
telegram.new_chat_message(order, chat_message)
|
||||
|
||||
elif message == "coordinator_cancelled":
|
||||
telegram.coordinator_cancelled(order)
|
||||
|
||||
return
|
||||
|
@ -30,7 +30,7 @@ masthead_title : # overrides the website title displayed in the masthe
|
||||
# breadcrumbs : false # true, false (default)
|
||||
words_per_minute :
|
||||
robosats:
|
||||
node_id : 0282eb467bc073833a039940392592bf10cf338a830ba4e392c1667d7697654c7e
|
||||
node_id : 037ff12b6a4e4bcb4b944b6d20af08cdff61b3461c1dff0d00a88697414d891bc7
|
||||
maker_fee : 0.025 # In percent (%)
|
||||
taker_fee : 0.175 # In percent (%)
|
||||
total_fee : 0.2 # In percent (%)
|
||||
|
@ -91,6 +91,8 @@ tutorial:
|
||||
url: "/watch/fr/"
|
||||
- title: '<span class="side-bar-item"> <img style="width:22px;height:13px" src="/assets/vector/polish.svg"/> Polski</span>'
|
||||
url: "/watch/pl/"
|
||||
- title: '<span class="side-bar-item"> <img style="width:22px;height:13px" src="/assets/vector/russian.svg"/> Русский</span>'
|
||||
url: "/watch/ru/"
|
||||
- title: '<span class="side-bar-item"><img id="side-icon-big" src="/assets/vector/readme.svg"/>Read</span>'
|
||||
url: "/watch/en/"
|
||||
children:
|
||||
@ -100,6 +102,8 @@ tutorial:
|
||||
url: "/read/es/"
|
||||
- title: '<span class="side-bar-item"> <img style="width:22px;height:13px" src="/assets/vector/german.svg"/> Deutsch</span>'
|
||||
url: "/read/de/"
|
||||
- title: '<span class="side-bar-item"> <img style="width:22px;height:13px" src="/assets/vector/russian.svg"/> Русский</span>'
|
||||
url: "/read/ru/"
|
||||
|
||||
contribute:
|
||||
- title: '<span class="side-bar-item"><img id="side-icon-big" src="/assets/vector/handshake-angle.svg"/>Contribute</span>'
|
||||
|
@ -15,13 +15,11 @@ We do, however, get approached by very enthusiastic bitcoiners who want to boost
|
||||
|
||||
You can donate the following ways:
|
||||
|
||||
- **Zap us on Nostr:**
|
||||
All Nostr zaps will go towards the social media team.
|
||||
Here is the nPub for RoboSats account :
|
||||
|
||||
```
|
||||
npub1p2psats79rypr8lpnl9t5qdekfp700x660qsgw284xvq4s09lqrqqk3m82
|
||||
```
|
||||
- **Tip the [RoboSats DevFund Node](https://amboss.space/node/{{site.robosats.node_id}}) via KeySend:**
|
||||
<div>
|
||||
<lightning-widget name="DevFund Node" accent="#9c27b0" to="robodevfund@vlt.ge" image="https://pbs.twimg.com/profile_images/1524391291475406850/ULKOymid_400x400.jpg"/>
|
||||
<script src="https://embed.twentyuno.net/js/app.js"></script>
|
||||
</div>
|
||||
|
||||
- **Directly tip the developer working on the features you like.** Check the [active PRs](https://github.com/RoboSats/robosats/pulls) and show your support to the developers with via Lightning tips. Simply write a message, for example "@developer_name, I would like to fund your development of this feature with 6000 Sats". The developer should reply with an LN invoice with a long expiration time.
|
||||
|
||||
@ -47,14 +45,13 @@ npub1p2psats79rypr8lpnl9t5qdekfp700x660qsgw284xvq4s09lqrqqk3m82
|
||||
{{site.robosats.leaddev_paynym_code}}
|
||||
```
|
||||
|
||||
- **Tip the [experimental RoboSats coordinator](https://amboss.space/node/{{site.robosats.node_id}}) via KeySend:**
|
||||
<div>
|
||||
<lightning-widget name="Experimental Coordinator" accent="#9c27b0" to="{{site.robosats.node_id}}" image="https://pbs.twimg.com/profile_images/1524391291475406850/ULKOymid_400x400.jpg"/>
|
||||
<script src="https://embed.twentyuno.net/js/app.js"></script>
|
||||
</div>
|
||||
|
||||
|
||||
- **Zap us on Nostr:**
|
||||
All Nostr zaps will go towards the social media team.
|
||||
Here is the nPub for RoboSats account :
|
||||
|
||||
```
|
||||
npub1p2psats79rypr8lpnl9t5qdekfp700x660qsgw284xvq4s09lqrqqk3m82
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
13
docs/_pages/tutorials/read/how-to-use_ru.md
Normal file
13
docs/_pages/tutorials/read/how-to-use_ru.md
Normal file
@ -0,0 +1,13 @@
|
||||
---
|
||||
layout: single
|
||||
title: Самоучитель RoboSats
|
||||
permalink: /read/ru/
|
||||
toc: true
|
||||
toc_sticky: true
|
||||
sidebar:
|
||||
title: '<img id="side-icon-verybig" src="/assets/vector/chalkboard-user.svg"/>Учебное пособие'
|
||||
nav: tutorial
|
||||
---
|
||||

|
||||
### <a href="https://21ideas.org/robosats/" target="_blank">RoboSats – Простой и приватный способ обмена биткоина</a>
|
||||
Великолепное руководство по использованию "RoboSats" от 21ideas.org
|
@ -10,6 +10,9 @@ sidebar:
|
||||
src: "_pages/docs/tutorials/videos-de.md"
|
||||
---
|
||||
|
||||
#### OrangedMike: ROBOSATS - Bitcoin Kauf, Verkauf und Swap
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/f5LZzvEp_Zw" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
|
||||
|
||||
#### Einundzwanzig: Bitcoin unabhängig und ohne Registrierung kaufen
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/kmd46irWXvw" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
||||
|
||||
|
16
docs/_pages/tutorials/watch/videos-ru.md
Normal file
16
docs/_pages/tutorials/watch/videos-ru.md
Normal file
@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: single
|
||||
title: Смотрите и учитесь
|
||||
permalink: /watch/ru/
|
||||
toc: true
|
||||
toc_sticky: true
|
||||
sidebar:
|
||||
title: '<img id="side-icon-verybig" src="/assets/vector/circle-play.svg"/>Учебники'
|
||||
nav: tutorial
|
||||
src: "_pages/docs/tutorials/videos-ru.md"
|
||||
---
|
||||
|
||||
### BitKorn Guide | RoboSats. Покупка и продажа Биткоина
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/QCGWXObIsKY" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
|
||||
|
||||
{% include add_tutorials %}
|
1
docs/assets/vector/russian.svg
Normal file
1
docs/assets/vector/russian.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9 6" width="900" height="600"><rect fill="#fff" width="9" height="3"/><rect fill="#d52b1e" y="3" width="9" height="3"/><rect fill="#0039a6" y="2" width="9" height="2"/></svg>
|
After Width: | Height: | Size: 265 B |
288
frontend/package-lock.json
generated
288
frontend/package-lock.json
generated
@ -18,8 +18,8 @@
|
||||
"@mui/lab": "^5.0.0-alpha.136",
|
||||
"@mui/material": "^5.15.3",
|
||||
"@mui/system": "^5.15.3",
|
||||
"@mui/x-data-grid": "^6.17.0",
|
||||
"@mui/x-date-pickers": "^6.17.0",
|
||||
"@mui/x-data-grid": "^6.19.2",
|
||||
"@mui/x-date-pickers": "^6.19.2"
|
||||
"@nivo/core": "^0.84.0",
|
||||
"@nivo/line": "^0.84.0",
|
||||
"base-ex": "^0.8.1",
|
||||
@ -33,13 +33,13 @@
|
||||
"js-sha256": "^0.10.1",
|
||||
"leaflet": "^1.9.4",
|
||||
"light-bolt11-decoder": "^3.0.0",
|
||||
"npm": "^10.3.0",
|
||||
"npm": "^10.4.0",
|
||||
"openpgp": "^5.11.0",
|
||||
"react": "^18.2.0",
|
||||
"react-countdown": "^2.3.5",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-grid-layout": "^1.4.4",
|
||||
"react-i18next": "^14.0.0",
|
||||
"react-i18next": "^14.0.1",
|
||||
"react-image": "^4.1.0",
|
||||
"react-leaflet": "^4.2.1",
|
||||
"react-qr-code": "^2.0.11",
|
||||
@ -3408,12 +3408,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@mui/x-data-grid": {
|
||||
"version": "6.17.0",
|
||||
"resolved": "https://registry.npmjs.org/@mui/x-data-grid/-/x-data-grid-6.17.0.tgz",
|
||||
"integrity": "sha512-HlpavV9jR7bLDYfi7n05R0xSsLl5ZxCTy3J5g4OfQtxhg9Zsu1uOkkLfudsM5LFqTbi5o+3PvZ9Kh33VvNUN/w==",
|
||||
"version": "6.19.2",
|
||||
"resolved": "https://registry.npmjs.org/@mui/x-data-grid/-/x-data-grid-6.19.2.tgz",
|
||||
"integrity": "sha512-+wizP1jEzCKB5BSQ6OD5TP6RspEbWmFWcxi1XBgKrzryUZii1o4G2BW1+d/n4p3xETCUMKRkYfItrOJGlM/dBw==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.23.2",
|
||||
"@mui/utils": "^5.14.14",
|
||||
"@mui/utils": "^5.14.16",
|
||||
"clsx": "^2.0.0",
|
||||
"prop-types": "^15.8.1",
|
||||
"reselect": "^4.1.8"
|
||||
@ -3441,9 +3441,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@mui/x-date-pickers": {
|
||||
"version": "6.17.0",
|
||||
"resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-6.17.0.tgz",
|
||||
"integrity": "sha512-rBKiw6GL1bTJpfSuD0KnOgxrERhoSip7eyqXzHbh0GODmp9f5bonE9gRZ74XmlyMQT7tcSzXdzk0c1X0HhmP1A==",
|
||||
"version": "6.19.2",
|
||||
"resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-6.19.2.tgz",
|
||||
"integrity": "sha512-/bdWZabexuz+1rKG15XryxiMGb5D0XVx65NU7CZYKm/1+HuUzc0FX9smKEa/YVZnLSNsAp6SULIyPZtAKE+3AA==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.23.2",
|
||||
"@mui/base": "^5.0.0-beta.20",
|
||||
@ -10360,9 +10360,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/npm": {
|
||||
"version": "10.3.0",
|
||||
"resolved": "https://registry.npmjs.org/npm/-/npm-10.3.0.tgz",
|
||||
"integrity": "sha512-9u5GFc1UqI2DLlGI7QdjkpIaBs3UhTtY8KoCqYJK24gV/j/tByaI4BA4R7RkOc+ASqZMzFPKt4Pj2Z8JcGo//A==",
|
||||
"version": "10.4.0",
|
||||
"resolved": "https://registry.npmjs.org/npm/-/npm-10.4.0.tgz",
|
||||
"integrity": "sha512-RS7Mx0OVfXlOcQLRePuDIYdFCVBPCNapWHplDK+mh7GDdP/Tvor4ocuybRRPSvfcRb2vjRJt1fHCqw3cr8qACQ==",
|
||||
"bundleDependencies": [
|
||||
"@isaacs/string-locale-compare",
|
||||
"@npmcli/arborist",
|
||||
@ -10426,7 +10426,6 @@
|
||||
"semver",
|
||||
"spdx-expression-parse",
|
||||
"ssri",
|
||||
"strip-ansi",
|
||||
"supports-color",
|
||||
"tar",
|
||||
"text-table",
|
||||
@ -10444,8 +10443,8 @@
|
||||
"@npmcli/map-workspaces": "^3.0.4",
|
||||
"@npmcli/package-json": "^5.0.0",
|
||||
"@npmcli/promise-spawn": "^7.0.1",
|
||||
"@npmcli/run-script": "^7.0.3",
|
||||
"@sigstore/tuf": "^2.2.0",
|
||||
"@npmcli/run-script": "^7.0.4",
|
||||
"@sigstore/tuf": "^2.3.0",
|
||||
"abbrev": "^2.0.0",
|
||||
"archy": "~1.0.0",
|
||||
"cacache": "^18.0.2",
|
||||
@ -10491,7 +10490,7 @@
|
||||
"npm-user-validate": "^2.0.0",
|
||||
"npmlog": "^7.0.1",
|
||||
"p-map": "^4.0.0",
|
||||
"pacote": "^17.0.5",
|
||||
"pacote": "^17.0.6",
|
||||
"parse-conflict-json": "^3.0.1",
|
||||
"proc-log": "^3.0.0",
|
||||
"qrcode-terminal": "^0.12.0",
|
||||
@ -10499,7 +10498,6 @@
|
||||
"semver": "^7.5.4",
|
||||
"spdx-expression-parse": "^3.0.1",
|
||||
"ssri": "^10.0.5",
|
||||
"strip-ansi": "^7.1.0",
|
||||
"supports-color": "^9.4.0",
|
||||
"tar": "^6.2.0",
|
||||
"text-table": "~0.2.0",
|
||||
@ -10554,6 +10552,17 @@
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/@isaacs/cliui/node_modules/ansi-regex": {
|
||||
"version": "6.0.1",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/ansi-regex?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/@isaacs/cliui/node_modules/emoji-regex": {
|
||||
"version": "9.2.2",
|
||||
"inBundle": true,
|
||||
@ -10575,6 +10584,20 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/@isaacs/cliui/node_modules/strip-ansi": {
|
||||
"version": "7.1.0",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-regex": "^6.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/@isaacs/string-locale-compare": {
|
||||
"version": "1.1.0",
|
||||
"inBundle": true,
|
||||
@ -10596,7 +10619,7 @@
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/@npmcli/arborist": {
|
||||
"version": "7.3.0",
|
||||
"version": "7.3.1",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
@ -10627,7 +10650,7 @@
|
||||
"parse-conflict-json": "^3.0.0",
|
||||
"proc-log": "^3.0.0",
|
||||
"promise-all-reject-late": "^1.0.0",
|
||||
"promise-call-limit": "^1.0.2",
|
||||
"promise-call-limit": "^3.0.1",
|
||||
"read-package-json-fast": "^3.0.2",
|
||||
"semver": "^7.3.7",
|
||||
"ssri": "^10.0.5",
|
||||
@ -10812,14 +10835,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/@npmcli/run-script": {
|
||||
"version": "7.0.3",
|
||||
"version": "7.0.4",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@npmcli/node-gyp": "^3.0.0",
|
||||
"@npmcli/package-json": "^5.0.0",
|
||||
"@npmcli/promise-spawn": "^7.0.0",
|
||||
"node-gyp": "^10.0.0",
|
||||
"read-package-json-fast": "^3.0.0",
|
||||
"which": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
@ -10836,7 +10859,7 @@
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/@sigstore/bundle": {
|
||||
"version": "2.1.0",
|
||||
"version": "2.1.1",
|
||||
"inBundle": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
@ -10846,6 +10869,14 @@
|
||||
"node": "^16.14.0 || >=18.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/@sigstore/core": {
|
||||
"version": "0.2.0",
|
||||
"inBundle": true,
|
||||
"license": "Apache-2.0",
|
||||
"engines": {
|
||||
"node": "^16.14.0 || >=18.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/@sigstore/protobuf-specs": {
|
||||
"version": "0.2.1",
|
||||
"inBundle": true,
|
||||
@ -10855,11 +10886,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/@sigstore/sign": {
|
||||
"version": "2.2.0",
|
||||
"version": "2.2.1",
|
||||
"inBundle": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@sigstore/bundle": "^2.1.0",
|
||||
"@sigstore/bundle": "^2.1.1",
|
||||
"@sigstore/core": "^0.2.0",
|
||||
"@sigstore/protobuf-specs": "^0.2.1",
|
||||
"make-fetch-happen": "^13.0.0"
|
||||
},
|
||||
@ -10868,12 +10900,25 @@
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/@sigstore/tuf": {
|
||||
"version": "2.2.0",
|
||||
"version": "2.3.0",
|
||||
"inBundle": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@sigstore/protobuf-specs": "^0.2.1",
|
||||
"tuf-js": "^2.1.0"
|
||||
"tuf-js": "^2.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^16.14.0 || >=18.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/@sigstore/verify": {
|
||||
"version": "0.1.0",
|
||||
"inBundle": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@sigstore/bundle": "^2.1.1",
|
||||
"@sigstore/core": "^0.2.0",
|
||||
"@sigstore/protobuf-specs": "^0.2.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^16.14.0 || >=18.0.0"
|
||||
@ -10931,14 +10976,11 @@
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/ansi-regex": {
|
||||
"version": "6.0.1",
|
||||
"version": "5.0.1",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/ansi-regex?sponsor=1"
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/ansi-styles": {
|
||||
@ -11099,25 +11141,6 @@
|
||||
"node": ">= 10"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/cli-columns/node_modules/ansi-regex": {
|
||||
"version": "5.0.1",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/cli-columns/node_modules/strip-ansi": {
|
||||
"version": "6.0.1",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-regex": "^5.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/cli-table3": {
|
||||
"version": "0.6.3",
|
||||
"inBundle": true,
|
||||
@ -11184,25 +11207,6 @@
|
||||
"node": ">=8.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/columnify/node_modules/ansi-regex": {
|
||||
"version": "5.0.1",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/columnify/node_modules/strip-ansi": {
|
||||
"version": "6.0.1",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-regex": "^5.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/common-ancestor-path": {
|
||||
"version": "1.0.1",
|
||||
"inBundle": true,
|
||||
@ -11388,25 +11392,6 @@
|
||||
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/gauge/node_modules/ansi-regex": {
|
||||
"version": "5.0.1",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/gauge/node_modules/strip-ansi": {
|
||||
"version": "6.0.1",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-regex": "^5.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/glob": {
|
||||
"version": "10.3.10",
|
||||
"inBundle": true,
|
||||
@ -11673,7 +11658,7 @@
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/libnpmdiff": {
|
||||
"version": "6.0.5",
|
||||
"version": "6.0.6",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
@ -11692,7 +11677,7 @@
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/libnpmexec": {
|
||||
"version": "7.0.6",
|
||||
"version": "7.0.7",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
@ -11713,7 +11698,7 @@
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/libnpmfund": {
|
||||
"version": "5.0.3",
|
||||
"version": "5.0.4",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
@ -11748,7 +11733,7 @@
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/libnpmpack": {
|
||||
"version": "6.0.5",
|
||||
"version": "6.0.6",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
@ -11762,7 +11747,7 @@
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/libnpmpublish": {
|
||||
"version": "9.0.3",
|
||||
"version": "9.0.4",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
@ -11772,7 +11757,7 @@
|
||||
"npm-registry-fetch": "^16.0.0",
|
||||
"proc-log": "^3.0.0",
|
||||
"semver": "^7.3.7",
|
||||
"sigstore": "^2.1.0",
|
||||
"sigstore": "^2.2.0",
|
||||
"ssri": "^10.0.5"
|
||||
},
|
||||
"engines": {
|
||||
@ -12230,7 +12215,7 @@
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/pacote": {
|
||||
"version": "17.0.5",
|
||||
"version": "17.0.6",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
@ -12249,7 +12234,7 @@
|
||||
"promise-retry": "^2.0.1",
|
||||
"read-package-json": "^7.0.0",
|
||||
"read-package-json-fast": "^3.0.0",
|
||||
"sigstore": "^2.0.0",
|
||||
"sigstore": "^2.2.0",
|
||||
"ssri": "^10.0.0",
|
||||
"tar": "^6.1.11"
|
||||
},
|
||||
@ -12325,7 +12310,7 @@
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/promise-call-limit": {
|
||||
"version": "1.0.2",
|
||||
"version": "3.0.1",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"funding": {
|
||||
@ -12487,14 +12472,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/sigstore": {
|
||||
"version": "2.1.0",
|
||||
"version": "2.2.0",
|
||||
"inBundle": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@sigstore/bundle": "^2.1.0",
|
||||
"@sigstore/bundle": "^2.1.1",
|
||||
"@sigstore/core": "^0.2.0",
|
||||
"@sigstore/protobuf-specs": "^0.2.1",
|
||||
"@sigstore/sign": "^2.1.0",
|
||||
"@sigstore/tuf": "^2.1.0"
|
||||
"@sigstore/sign": "^2.2.1",
|
||||
"@sigstore/tuf": "^2.3.0",
|
||||
"@sigstore/verify": "^0.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^16.14.0 || >=18.0.0"
|
||||
@ -12601,56 +12588,15 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/string-width-cjs/node_modules/ansi-regex": {
|
||||
"version": "5.0.1",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/string-width-cjs/node_modules/strip-ansi": {
|
||||
"version": "6.0.1",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-regex": "^5.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/string-width/node_modules/ansi-regex": {
|
||||
"version": "5.0.1",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/string-width/node_modules/strip-ansi": {
|
||||
"version": "6.0.1",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-regex": "^5.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/strip-ansi": {
|
||||
"version": "7.1.0",
|
||||
"version": "6.0.1",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-regex": "^6.0.1"
|
||||
"ansi-regex": "^5.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/strip-ansi-cjs": {
|
||||
@ -12665,14 +12611,6 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/strip-ansi-cjs/node_modules/ansi-regex": {
|
||||
"version": "5.0.1",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/supports-color": {
|
||||
"version": "9.4.0",
|
||||
"inBundle": true,
|
||||
@ -12749,7 +12687,7 @@
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/tuf-js": {
|
||||
"version": "2.1.0",
|
||||
"version": "2.2.0",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@ -12884,14 +12822,6 @@
|
||||
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/wrap-ansi-cjs/node_modules/ansi-regex": {
|
||||
"version": "5.0.1",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
|
||||
"version": "4.3.0",
|
||||
"inBundle": true,
|
||||
@ -12906,15 +12836,15 @@
|
||||
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/wrap-ansi-cjs/node_modules/strip-ansi": {
|
||||
"node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": {
|
||||
"version": "6.0.1",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-regex": "^5.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/ansi-regex?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/wrap-ansi/node_modules/emoji-regex": {
|
||||
@ -12938,6 +12868,20 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/wrap-ansi/node_modules/strip-ansi": {
|
||||
"version": "7.1.0",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-regex": "^6.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/npm/node_modules/write-file-atomic": {
|
||||
"version": "5.0.1",
|
||||
"inBundle": true,
|
||||
@ -13624,9 +13568,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/react-i18next": {
|
||||
"version": "14.0.0",
|
||||
"resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-14.0.0.tgz",
|
||||
"integrity": "sha512-OCrS8rHNAmnr8ggGRDxjakzihrMW7HCbsplduTm3EuuQ6fyvWGT41ksZpqbduYoqJurBmEsEVZ1pILSUWkHZng==",
|
||||
"version": "14.0.1",
|
||||
"resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-14.0.1.tgz",
|
||||
"integrity": "sha512-TMV8hFismBmpMdIehoFHin/okfvgjFhp723RYgIqB4XyhDobVMyukyM3Z8wtTRmajyFMZrBl/OaaXF2P6WjUAw==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.22.5",
|
||||
"html-parse-stringify": "^3.0.1"
|
||||
|
@ -57,8 +57,8 @@
|
||||
"@mui/lab": "^5.0.0-alpha.136",
|
||||
"@mui/material": "^5.15.3",
|
||||
"@mui/system": "^5.15.3",
|
||||
"@mui/x-data-grid": "^6.17.0",
|
||||
"@mui/x-date-pickers": "^6.17.0",
|
||||
"@mui/x-data-grid": "^6.19.2",
|
||||
"@mui/x-date-pickers": "^6.19.2",
|
||||
"@nivo/core": "^0.84.0",
|
||||
"@nivo/line": "^0.84.0",
|
||||
"base-ex": "^0.8.1",
|
||||
@ -72,13 +72,13 @@
|
||||
"js-sha256": "^0.10.1",
|
||||
"leaflet": "^1.9.4",
|
||||
"light-bolt11-decoder": "^3.0.0",
|
||||
"npm": "^10.3.0",
|
||||
"npm": "^10.4.0",
|
||||
"openpgp": "^5.11.0",
|
||||
"react": "^18.2.0",
|
||||
"react-countdown": "^2.3.5",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-grid-layout": "^1.4.4",
|
||||
"react-i18next": "^14.0.0",
|
||||
"react-i18next": "^14.0.1",
|
||||
"react-image": "^4.1.0",
|
||||
"react-leaflet": "^4.2.1",
|
||||
"react-qr-code": "^2.0.11",
|
||||
|
@ -1,4 +1,4 @@
|
||||
coverage==7.4.0
|
||||
coverage==7.4.1
|
||||
ruff==0.1.14
|
||||
drf-openapi-tester==2.3.3
|
||||
pre-commit==3.6.0
|
@ -2,6 +2,7 @@ import os
|
||||
import json
|
||||
import requests
|
||||
import base64
|
||||
from datetime import datetime
|
||||
|
||||
devfund_data_path = os.path.normpath(os.path.join("..", "devfund_pubkey.json"))
|
||||
|
||||
@ -19,7 +20,9 @@ response_data = r.json()
|
||||
|
||||
for invoice in response_data["invoices"]:
|
||||
if invoice["is_keysend"] and invoice["htlcs"][0]["custom_records"]["34349334"]:
|
||||
dt = datetime.fromtimestamp(int(invoice["creation_date"]))
|
||||
print(f"Index {invoice['add_index']}")
|
||||
print(f'Timestamp {dt.strftime("%Y-%m-%d %H:%M:%S")}')
|
||||
print(
|
||||
f"{base64.b64decode(invoice['htlcs'][0]['custom_records']['34349334']).decode('utf-8')}"
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user