mirror of
https://github.com/cryptosharks131/lndg.git
synced 2026-08-13 12:33:04 +02:00
Add favicon and custom tls/macaroon/db paths
This commit is contained in:
parent
927afde150
commit
5a6160a686
11 changed files with 89 additions and 81 deletions
|
|
@ -1,10 +1,9 @@
|
|||
from lndg import settings
|
||||
from gui.lnd_deps import lightning_pb2 as ln
|
||||
from gui.lnd_deps import lightning_pb2_grpc as lnrpc
|
||||
from gui.lnd_deps.lnd_connect import lnd_connect
|
||||
|
||||
def main():
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
try:
|
||||
stub.DeleteAllPayments(ln.DeleteAllPaymentsRequest(failed_payments_only=False, failed_htlcs_only=True))
|
||||
stub.DeleteAllPayments(ln.DeleteAllPaymentsRequest(failed_payments_only=True, failed_htlcs_only=False))
|
||||
|
|
|
|||
|
|
@ -1,18 +1,19 @@
|
|||
import os, codecs, grpc
|
||||
from lndg import settings
|
||||
|
||||
def lnd_connect(LND_DIR_PATH, LND_NETWORK, LND_RPC_SERVER):
|
||||
def lnd_connect():
|
||||
#Open connection with lnd via grpc
|
||||
with open(os.path.expanduser(LND_DIR_PATH + '/data/chain/bitcoin/' + LND_NETWORK + '/admin.macaroon'), 'rb') as f:
|
||||
with open(os.path.expanduser(settings.LND_MACAROON_PATH), 'rb') as f:
|
||||
macaroon_bytes = f.read()
|
||||
macaroon = codecs.encode(macaroon_bytes, 'hex')
|
||||
def metadata_callback(context, callback):
|
||||
callback([('macaroon', macaroon)], None)
|
||||
os.environ["GRPC_SSL_CIPHER_SUITES"] = 'HIGH+ECDSA'
|
||||
cert = open(os.path.expanduser(LND_DIR_PATH + '/tls.cert'), 'rb').read()
|
||||
cert = open(os.path.expanduser(settings.LND_TLS_PATH), 'rb').read()
|
||||
cert_creds = grpc.ssl_channel_credentials(cert)
|
||||
auth_creds = grpc.metadata_call_credentials(metadata_callback)
|
||||
creds = grpc.composite_channel_credentials(cert_creds, auth_creds)
|
||||
channel = grpc.secure_channel(LND_RPC_SERVER, creds, options=[('grpc.max_send_message_length', 29999999), ('grpc.max_receive_message_length', 29999999),])
|
||||
channel = grpc.secure_channel(settings.LND_RPC_SERVER, creds, options=[('grpc.max_send_message_length', 29999999), ('grpc.max_receive_message_length', 29999999),])
|
||||
return channel
|
||||
|
||||
def main():
|
||||
|
|
|
|||
|
|
@ -7,15 +7,14 @@ from gui.lnd_deps import lightning_pb2_grpc as lnrpc
|
|||
from gui.lnd_deps import signer_pb2 as lns
|
||||
from gui.lnd_deps import signer_pb2_grpc as lnsigner
|
||||
from gui.lnd_deps.lnd_connect import lnd_connect
|
||||
from lndg import settings
|
||||
|
||||
def update_messages(apps, schedma_editor):
|
||||
invoices = apps.get_model('gui', 'invoices')
|
||||
try:
|
||||
messages = invoices.objects.exclude(message=None)
|
||||
if len(messages) > 0:
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
signerstub = lnsigner.SignerStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
signerstub = lnsigner.SignerStub(lnd_connect())
|
||||
self_pubkey = stub.GetInfo(ln.GetInfoRequest()).identity_pubkey
|
||||
for message in messages:
|
||||
records = stub.LookupInvoice(ln.PaymentHash(r_hash=bytes.fromhex(message.r_hash))).htlcs[0].custom_records
|
||||
|
|
@ -46,7 +45,7 @@ def update_rebal_channel(apps, schedma_editor):
|
|||
payments = apps.get_model('gui', 'payments')
|
||||
hops = apps.get_model('gui', 'paymenthops')
|
||||
try:
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
self_pubkey = stub.GetInfo(ln.GetInfoRequest()).identity_pubkey
|
||||
for payment in payments.objects.filter(status=2).iterator():
|
||||
last_hop = hops.objects.filter(payment_hash=payment.payment_hash).order_by('-step')[0] if hops.objects.filter(payment_hash=payment.payment_hash).exists() else None
|
||||
|
|
|
|||
BIN
gui/static/favicon.ico
Normal file
BIN
gui/static/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
103
gui/views.py
103
gui/views.py
|
|
@ -3,7 +3,6 @@ from django.shortcuts import get_object_or_404, render, redirect
|
|||
from django.db.models import Sum, IntegerField, Count, F, Q
|
||||
from django.db.models.functions import Round
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.conf import settings
|
||||
from datetime import datetime, timedelta
|
||||
from rest_framework import viewsets
|
||||
from rest_framework.response import Response
|
||||
|
|
@ -18,7 +17,7 @@ from gui.lnd_deps import router_pb2_grpc as lnrouter
|
|||
from gui.lnd_deps import wtclient_pb2 as wtrpc
|
||||
from gui.lnd_deps import wtclient_pb2_grpc as wtstub
|
||||
from .lnd_deps.lnd_connect import lnd_connect
|
||||
from lndg.settings import LND_NETWORK, LND_DIR_PATH
|
||||
from lndg import settings
|
||||
from os import path
|
||||
from pandas import DataFrame, merge
|
||||
from requests import get
|
||||
|
|
@ -49,7 +48,7 @@ def get_tx_fees(txid):
|
|||
def home(request):
|
||||
if request.method == 'GET':
|
||||
try:
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
#Get balance and general node information
|
||||
node_info = stub.GetInfo(ln.GetInfoRequest())
|
||||
balances = stub.WalletBalance(ln.WalletBalanceRequest())
|
||||
|
|
@ -225,7 +224,7 @@ def home(request):
|
|||
total_channels = node_info.num_active_channels + node_info.num_inactive_channels - private_count
|
||||
local_settings = LocalSettings.objects.filter(key__contains='AR-').order_by('key')
|
||||
try:
|
||||
db_size = round(path.getsize(path.expanduser(LND_DIR_PATH + '/data/graph/' + LND_NETWORK + '/channel.db'))*0.000000001, 3)
|
||||
db_size = round(path.getsize(path.expanduser(settings.LND_DATABASE_PATH))*0.000000001, 3)
|
||||
except:
|
||||
db_size = 0
|
||||
#Build context for front-end and render page
|
||||
|
|
@ -290,7 +289,7 @@ def home(request):
|
|||
'eligible_count': channels.filter(is_active=True, is_open=True, private=False, auto_rebalance=True).annotate(inbound_can=((Sum('remote_balance')+Sum('pending_inbound'))*100)/Sum('capacity')).annotate(fee_ratio=(Sum('remote_fee_rate')*100)/Sum('local_fee_rate')).filter(inbound_can__gte=F('ar_in_target'), fee_ratio__lte=F('ar_max_cost')).count(),
|
||||
'enabled_count': channels.filter(is_open=True, auto_rebalance=True).count(),
|
||||
'available_count': channels.filter(is_active=True, is_open=True, private=False, auto_rebalance=False).annotate(outbound_can=((Sum('local_balance')+Sum('pending_outbound'))*100)/Sum('capacity')).filter(outbound_can__gte=F('ar_out_target')).count(),
|
||||
'network': 'testnet/' if LND_NETWORK == 'testnet' else '',
|
||||
'network': 'testnet/' if settings.LND_NETWORK == 'testnet' else '',
|
||||
'graph_links': graph_links(),
|
||||
'network_links': network_links(),
|
||||
'db_size': db_size,
|
||||
|
|
@ -393,7 +392,7 @@ def channels(request):
|
|||
'channels': [] if channels_df.empty else channels_df.sort_values(by=['cv_30day'], ascending=False).to_dict(orient='records'),
|
||||
'apy_7day': apy_7day,
|
||||
'apy_30day': apy_30day,
|
||||
'network': 'testnet/' if LND_NETWORK == 'testnet' else '',
|
||||
'network': 'testnet/' if settings.LND_NETWORK == 'testnet' else '',
|
||||
'graph_links': graph_links(),
|
||||
'network_links': network_links()
|
||||
}
|
||||
|
|
@ -486,7 +485,7 @@ def fees(request):
|
|||
context = {
|
||||
'channels': [] if channels_df.empty else channels_df.sort_values(by=['out_percent']).to_dict(orient='records'),
|
||||
'local_settings': LocalSettings.objects.filter(key__contains='AF-').order_by('key'),
|
||||
'network': 'testnet/' if LND_NETWORK == 'testnet' else '',
|
||||
'network': 'testnet/' if settings.LND_NETWORK == 'testnet' else '',
|
||||
'graph_links': graph_links(),
|
||||
'network_links': network_links()
|
||||
}
|
||||
|
|
@ -508,7 +507,7 @@ def advanced(request):
|
|||
context = {
|
||||
'channels': channels_df.to_dict(orient='records'),
|
||||
'local_settings': LocalSettings.objects.all().order_by('key'),
|
||||
'network': 'testnet/' if LND_NETWORK == 'testnet' else '',
|
||||
'network': 'testnet/' if settings.LND_NETWORK == 'testnet' else '',
|
||||
'graph_links': graph_links(),
|
||||
'network_links': network_links()
|
||||
}
|
||||
|
|
@ -520,7 +519,7 @@ def advanced(request):
|
|||
def route(request):
|
||||
if request.method == 'GET':
|
||||
try:
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
block_height = stub.GetInfo(ln.GetInfoRequest()).block_height
|
||||
payment_hash = request.GET.urlencode()[1:]
|
||||
context = {
|
||||
|
|
@ -561,7 +560,7 @@ def peers(request):
|
|||
context = {
|
||||
'peers': peers,
|
||||
'num_peers': len(peers),
|
||||
'network': 'testnet/' if LND_NETWORK == 'testnet' else '',
|
||||
'network': 'testnet/' if settings.LND_NETWORK == 'testnet' else '',
|
||||
'graph_links': graph_links()
|
||||
}
|
||||
return render(request, 'peers.html', context)
|
||||
|
|
@ -571,11 +570,11 @@ def peers(request):
|
|||
@login_required(login_url='/lndg-admin/login/?next=/')
|
||||
def balances(request):
|
||||
if request.method == 'GET':
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
context = {
|
||||
'utxos': stub.ListUnspent(ln.ListUnspentRequest(min_confs=0, max_confs=9999999)).utxos,
|
||||
'transactions': list(Onchain.objects.filter(block_height=0)) + list(Onchain.objects.exclude(block_height=0).order_by('-block_height')),
|
||||
'network': 'testnet/' if LND_NETWORK == 'testnet' else '',
|
||||
'network': 'testnet/' if settings.LND_NETWORK == 'testnet' else '',
|
||||
'network_links': network_links()
|
||||
}
|
||||
return render(request, 'balances.html', context)
|
||||
|
|
@ -586,7 +585,7 @@ def balances(request):
|
|||
def closures(request):
|
||||
if request.method == 'GET':
|
||||
try:
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
pending_channels = stub.PendingChannels(ln.PendingChannelsRequest())
|
||||
channels = Channels.objects.all()
|
||||
pending_closed = None
|
||||
|
|
@ -617,7 +616,7 @@ def closures(request):
|
|||
'pending_force_closed': pending_force_closed,
|
||||
'waiting_for_close': waiting_for_close,
|
||||
'closures': [] if merged.empty else merged.sort_values(by=['close_height'], ascending=False).to_dict(orient='records'),
|
||||
'network': 'testnet/' if LND_NETWORK == 'testnet' else '',
|
||||
'network': 'testnet/' if settings.LND_NETWORK == 'testnet' else '',
|
||||
'network_links': network_links(),
|
||||
'graph_links': graph_links()
|
||||
}
|
||||
|
|
@ -645,7 +644,7 @@ def find_next_block_maturity(force_closing_channel):
|
|||
def towers(request):
|
||||
if request.method == 'GET':
|
||||
try:
|
||||
stub = wtstub.WatchtowerClientStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = wtstub.WatchtowerClientStub(lnd_connect())
|
||||
towers = stub.ListTowers(wtrpc.ListTowersRequest(include_sessions=False)).towers
|
||||
active_towers = []
|
||||
inactive_towers = []
|
||||
|
|
@ -679,7 +678,7 @@ def add_tower_form(request):
|
|||
form = AddTowerForm(request.POST)
|
||||
if form.is_valid():
|
||||
try:
|
||||
stub = wtstub.WatchtowerClientStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = wtstub.WatchtowerClientStub(lnd_connect())
|
||||
tower = form.cleaned_data['tower']
|
||||
if tower.count('@') == 1 and len(tower.split('@')[0]) == 66:
|
||||
peer_pubkey, host = tower.split('@')
|
||||
|
|
@ -703,7 +702,7 @@ def delete_tower_form(request):
|
|||
form = DeleteTowerForm(request.POST)
|
||||
if form.is_valid():
|
||||
try:
|
||||
stub = wtstub.WatchtowerClientStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = wtstub.WatchtowerClientStub(lnd_connect())
|
||||
pubkey = bytes.fromhex(form.cleaned_data['pubkey'])
|
||||
address = form.cleaned_data['address']
|
||||
response = stub.RemoveTower(wtrpc.RemoveTowerRequest(pubkey=pubkey, address=address))
|
||||
|
|
@ -724,7 +723,7 @@ def remove_tower_form(request):
|
|||
form = RemoveTowerForm(request.POST)
|
||||
if form.is_valid():
|
||||
try:
|
||||
stub = wtstub.WatchtowerClientStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = wtstub.WatchtowerClientStub(lnd_connect())
|
||||
pubkey = bytes.fromhex(form.cleaned_data['pubkey'])
|
||||
response = stub.RemoveTower(wtrpc.RemoveTowerRequest(pubkey=pubkey))
|
||||
messages.success(request, 'Tower removal successful!' + str(response))
|
||||
|
|
@ -745,7 +744,7 @@ def resolutions(request):
|
|||
context = {
|
||||
'chan_id': chan_id,
|
||||
'resolutions': Resolutions.objects.filter(chan_id=chan_id),
|
||||
'network': 'testnet/' if LND_NETWORK == 'testnet' else '',
|
||||
'network': 'testnet/' if settings.LND_NETWORK == 'testnet' else '',
|
||||
'network_links': network_links()
|
||||
}
|
||||
return render(request, 'resolutions.html', context)
|
||||
|
|
@ -755,7 +754,7 @@ def resolutions(request):
|
|||
@login_required(login_url='/lndg-admin/login/?next=/')
|
||||
def income(request):
|
||||
if request.method == 'GET':
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
filter_90day = datetime.now() - timedelta(days=90)
|
||||
filter_30day = datetime.now() - timedelta(days=30)
|
||||
filter_7day = datetime.now() - timedelta(days=7)
|
||||
|
|
@ -889,7 +888,7 @@ def income(request):
|
|||
'percent_cost_30day': 0 if total_revenue_30day == 0 else int(((total_fees_30day+onchain_costs_30day)/total_revenue_30day)*100),
|
||||
'percent_cost_7day': 0 if total_revenue_7day == 0 else int(((total_fees_7day+onchain_costs_7day)/total_revenue_7day)*100),
|
||||
'percent_cost_1day': 0 if total_revenue_1day == 0 else int(((total_fees_1day+onchain_costs_1day)/total_revenue_1day)*100),
|
||||
'network': 'testnet/' if LND_NETWORK == 'testnet' else '',
|
||||
'network': 'testnet/' if settings.LND_NETWORK == 'testnet' else '',
|
||||
'graph_links': graph_links()
|
||||
}
|
||||
return render(request, 'income.html', context)
|
||||
|
|
@ -1274,7 +1273,7 @@ def channel(request):
|
|||
'rebalances': [] if rebalancer_df.empty else rebalancer_df.to_dict(orient='records')[:5],
|
||||
'failed_htlcs': [] if failed_htlc_df.empty else failed_htlc_df.to_dict(orient='records')[:5],
|
||||
'peer_info': [] if peer_info_df.empty else peer_info_df.to_dict(orient='records')[0],
|
||||
'network': 'testnet/' if LND_NETWORK == 'testnet' else '',
|
||||
'network': 'testnet/' if settings.LND_NETWORK == 'testnet' else '',
|
||||
'graph_links': graph_links(),
|
||||
'network_links': network_links()
|
||||
}
|
||||
|
|
@ -1292,7 +1291,7 @@ def channel(request):
|
|||
@login_required(login_url='/lndg-admin/login/?next=/')
|
||||
def opens(request):
|
||||
if request.method == 'GET':
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
self_pubkey = stub.GetInfo(ln.GetInfoRequest()).identity_pubkey
|
||||
current_peers = Channels.objects.filter(is_open=True).values_list('remote_pubkey')
|
||||
filter_60day = datetime.now() - timedelta(days=60)
|
||||
|
|
@ -1300,7 +1299,7 @@ def opens(request):
|
|||
open_list = PaymentHops.objects.filter(payment_hash__in=payments_60day).exclude(node_pubkey=self_pubkey).exclude(node_pubkey__in=current_peers).values('node_pubkey', 'alias').annotate(ppm=(Sum('fee')/Sum('amt'))*1000000).annotate(score=Round((Round(Count('id')/5, output_field=IntegerField())+Round(Sum('amt')/500000, output_field=IntegerField()))/10, output_field=IntegerField())).annotate(count=Count('id')).annotate(amount=Sum('amt')).annotate(fees=Sum('fee')).annotate(sum_cost_to=Sum('cost_to')/(Sum('amt')/1000000)).exclude(score=0).order_by('-score', 'ppm')[:21]
|
||||
context = {
|
||||
'open_list': open_list,
|
||||
'network': 'testnet/' if LND_NETWORK == 'testnet' else '',
|
||||
'network': 'testnet/' if settings.LND_NETWORK == 'testnet' else '',
|
||||
'graph_links': graph_links()
|
||||
}
|
||||
return render(request, 'open_list.html', context)
|
||||
|
|
@ -1360,7 +1359,7 @@ def actions(request):
|
|||
action_list.append(result)
|
||||
context = {
|
||||
'action_list': action_list,
|
||||
'network': 'testnet/' if LND_NETWORK == 'testnet' else '',
|
||||
'network': 'testnet/' if settings.LND_NETWORK == 'testnet' else '',
|
||||
'graph_links': graph_links(),
|
||||
'network_links': network_links()
|
||||
}
|
||||
|
|
@ -1371,7 +1370,7 @@ def actions(request):
|
|||
@login_required(login_url='/lndg-admin/login/?next=/')
|
||||
def pending_htlcs(request):
|
||||
if request.method == 'GET':
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
block_height = stub.GetInfo(ln.GetInfoRequest()).block_height
|
||||
context = {
|
||||
'incoming_htlcs': PendingHTLCs.objects.filter(incoming=True).annotate(blocks_til_expiration=Sum('expiration_height')-block_height).annotate(hours_til_expiration=((Sum('expiration_height')-block_height)*10)/60).order_by('hash_lock'),
|
||||
|
|
@ -1466,7 +1465,7 @@ def batch_open(request):
|
|||
count = 0
|
||||
fail = False
|
||||
open_list = []
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
if form.cleaned_data['pubkey1'] and form.cleaned_data['amt1'] and len(form.cleaned_data['pubkey1']) == 66:
|
||||
count += 1
|
||||
peer_pubkey = form.cleaned_data['pubkey1']
|
||||
|
|
@ -1627,7 +1626,7 @@ def rebalancing(request):
|
|||
'rebalancer': Rebalancer.objects.all().annotate(ppm=Round((Sum('fee_limit')*1000000)/Sum('value'), output_field=IntegerField())).order_by('-id')[:20],
|
||||
'rebalancer_form': RebalancerForm,
|
||||
'local_settings': LocalSettings.objects.filter(key__contains='AR-').order_by('key'),
|
||||
'network': 'testnet/' if LND_NETWORK == 'testnet' else '',
|
||||
'network': 'testnet/' if settings.LND_NETWORK == 'testnet' else '',
|
||||
'graph_links': graph_links()
|
||||
}
|
||||
return render(request, 'rebalancing.html', context)
|
||||
|
|
@ -1684,7 +1683,7 @@ def open_channel_form(request):
|
|||
form = OpenChannelForm(request.POST)
|
||||
if form.is_valid():
|
||||
try:
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
peer_pubkey = form.cleaned_data['peer_pubkey']
|
||||
connected = False
|
||||
if Peers.objects.filter(pubkey=peer_pubkey, connected=True).exists():
|
||||
|
|
@ -1732,7 +1731,7 @@ def close_channel_form(request):
|
|||
channel_point.funding_txid_bytes = bytes.fromhex(funding_txid)
|
||||
channel_point.funding_txid_str = funding_txid
|
||||
channel_point.output_index = output_index
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
if form.cleaned_data['force']:
|
||||
for response in stub.CloseChannel(ln.CloseChannelRequest(channel_point=channel_point, force=True)):
|
||||
messages.success(request, 'Channel force closed! Closing TXID: ' + str(response.close_pending.txid[::-1].hex()) + ':' + str(response.close_pending.output_index))
|
||||
|
|
@ -1759,7 +1758,7 @@ def connect_peer_form(request):
|
|||
form = ConnectPeerForm(request.POST)
|
||||
if form.is_valid():
|
||||
try:
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
peer_id = form.cleaned_data['peer_id']
|
||||
if peer_id.count('@') == 0 and len(peer_id) == 66:
|
||||
peer_pubkey = peer_id
|
||||
|
|
@ -1786,7 +1785,7 @@ def connect_peer_form(request):
|
|||
def new_address_form(request):
|
||||
if request.method == 'POST':
|
||||
try:
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
response = stub.NewAddress(ln.NewAddressRequest(type=0))
|
||||
messages.success(request, 'Deposit Address: ' + str(response.address))
|
||||
except Exception as e:
|
||||
|
|
@ -1803,7 +1802,7 @@ def add_invoice_form(request):
|
|||
form = AddInvoiceForm(request.POST)
|
||||
if form.is_valid():
|
||||
try:
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
response = stub.AddInvoice(ln.Invoice(value=form.cleaned_data['value']))
|
||||
messages.success(request, 'Invoice created! ' + str(response.payment_request))
|
||||
except Exception as e:
|
||||
|
|
@ -1852,7 +1851,7 @@ def update_chan_policy(request):
|
|||
if form.is_valid():
|
||||
if form.cleaned_data['new_base_fee'] is not None or form.cleaned_data['new_fee_rate'] is not None or form.cleaned_data['new_cltv'] is not None:
|
||||
try:
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
if form.cleaned_data['target_all']:
|
||||
if form.cleaned_data['new_base_fee'] is not None and form.cleaned_data['new_fee_rate'] is not None and form.cleaned_data['new_cltv'] is not None:
|
||||
args = {'global': True, 'base_fee_msat': form.cleaned_data['new_base_fee'], 'fee_rate': (form.cleaned_data['new_fee_rate']/1000000), 'time_lock_delta': form.cleaned_data['new_cltv']}
|
||||
|
|
@ -2053,7 +2052,7 @@ def update_channel(request):
|
|||
update_target = int(form.cleaned_data['update_target'])
|
||||
db_channel = Channels.objects.filter(chan_id=chan_id)[0]
|
||||
if update_target == 0:
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
channel_point = ln.ChannelPoint()
|
||||
channel_point.funding_txid_bytes = bytes.fromhex(db_channel.funding_txid)
|
||||
channel_point.funding_txid_str = db_channel.funding_txid
|
||||
|
|
@ -2063,7 +2062,7 @@ def update_channel(request):
|
|||
db_channel.save()
|
||||
messages.success(request, 'Base fee for channel ' + str(db_channel.alias) + ' (' + str(db_channel.chan_id) + ') updated to a value of: ' + str(target))
|
||||
elif update_target == 1:
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
channel_point = ln.ChannelPoint()
|
||||
channel_point.funding_txid_bytes = bytes.fromhex(db_channel.funding_txid)
|
||||
channel_point.funding_txid_str = db_channel.funding_txid
|
||||
|
|
@ -2094,7 +2093,7 @@ def update_channel(request):
|
|||
db_channel.save()
|
||||
messages.success(request, 'Auto rebalancer max cost for channel ' + str(db_channel.alias) + ' (' + str(db_channel.chan_id) + ') updated to a value of: ' + str(target) + '%')
|
||||
elif update_target == 7:
|
||||
stub = lnrouter.RouterStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrouter.RouterStub(lnd_connect())
|
||||
channel_point = ln.ChannelPoint()
|
||||
channel_point.funding_txid_bytes = bytes.fromhex(db_channel.funding_txid)
|
||||
channel_point.funding_txid_str = db_channel.funding_txid
|
||||
|
|
@ -2110,7 +2109,7 @@ def update_channel(request):
|
|||
db_channel.save()
|
||||
messages.success(request, 'Auto fees status for channel ' + str(db_channel.alias) + ' (' + str(db_channel.chan_id) + ') updated to a value of: ' + str(db_channel.auto_fees))
|
||||
elif update_target == 9:
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
channel_point = ln.ChannelPoint()
|
||||
channel_point.funding_txid_bytes = bytes.fromhex(db_channel.funding_txid)
|
||||
channel_point.funding_txid_str = db_channel.funding_txid
|
||||
|
|
@ -2340,7 +2339,7 @@ def update_setting(request):
|
|||
messages.success(request, 'Updated payment cleanup retention days to: ' + str(retention_days))
|
||||
elif key == 'ALL-oRate':
|
||||
target = int(value)
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
channels = Channels.objects.filter(is_open=True)
|
||||
for db_channel in channels:
|
||||
channel_point = ln.ChannelPoint()
|
||||
|
|
@ -2354,10 +2353,10 @@ def update_setting(request):
|
|||
messages.success(request, 'Fee rate for all open channels updated to a value of: ' + str(target))
|
||||
elif key == 'ALL-oBase':
|
||||
target = int(value)
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
channels = Channels.objects.filter(is_open=True)
|
||||
for db_channel in channels:
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
channel_point = ln.ChannelPoint()
|
||||
channel_point.funding_txid_bytes = bytes.fromhex(db_channel.funding_txid)
|
||||
channel_point.funding_txid_str = db_channel.funding_txid
|
||||
|
|
@ -2368,10 +2367,10 @@ def update_setting(request):
|
|||
messages.success(request, 'Base fee for all channels updated to a value of: ' + str(target))
|
||||
elif key == 'ALL-CLTV':
|
||||
target = int(value)
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
channels = Channels.objects.filter(is_open=True)
|
||||
for db_channel in channels:
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
channel_point = ln.ChannelPoint()
|
||||
channel_point.funding_txid_bytes = bytes.fromhex(db_channel.funding_txid)
|
||||
channel_point.funding_txid_str = db_channel.funding_txid
|
||||
|
|
@ -2584,7 +2583,7 @@ def connect_peer(request):
|
|||
serializer = ConnectPeerSerializer(data=request.data)
|
||||
if serializer.is_valid():
|
||||
try:
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
peer_id = serializer.validated_data['peer_id']
|
||||
if peer_id.count('@') == 0 and len(peer_id) == 66:
|
||||
peer_pubkey = peer_id
|
||||
|
|
@ -2611,7 +2610,7 @@ def open_channel(request):
|
|||
serializer = OpenChannelSerializer(data=request.data)
|
||||
if serializer.is_valid():
|
||||
try:
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
peer_pubkey = serializer.validated_data['peer_pubkey']
|
||||
connected = False
|
||||
if Peers.objects.filter(pubkey=peer_pubkey, connected=True).exists():
|
||||
|
|
@ -2656,7 +2655,7 @@ def close_channel(request):
|
|||
channel_point.funding_txid_bytes = bytes.fromhex(funding_txid)
|
||||
channel_point.funding_txid_str = funding_txid
|
||||
channel_point.output_index = output_index
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
if serializer.validated_data['force']:
|
||||
for response in stub.CloseChannel(ln.CloseChannelRequest(channel_point=channel_point, force=True)):
|
||||
return Response({'message': 'Channel force closed! Closing TXID: ' + str(response.close_pending.txid[::-1].hex()) + ':' + str(response.close_pending.output_index)})
|
||||
|
|
@ -2679,7 +2678,7 @@ def add_invoice(request):
|
|||
serializer = AddInvoiceSerializer(data=request.data)
|
||||
if serializer.is_valid() and serializer.validated_data['value'] >= 0:
|
||||
try:
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
response = stub.AddInvoice(ln.Invoice(value=serializer.validated_data['value']))
|
||||
return Response({'message': 'Invoice created!', 'data':str(response.payment_request)})
|
||||
except Exception as e:
|
||||
|
|
@ -2694,7 +2693,7 @@ def add_invoice(request):
|
|||
@api_view(['GET'])
|
||||
def new_address(request):
|
||||
try:
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
response = stub.NewAddress(ln.NewAddressRequest(type=0))
|
||||
return Response({'message': 'Retrieved new deposit address!', 'data':str(response.address)})
|
||||
except Exception as e:
|
||||
|
|
@ -2711,7 +2710,7 @@ def update_alias(request):
|
|||
peer_pubkey = serializer.validated_data['peer_pubkey']
|
||||
if Channels.objects.filter(remote_pubkey=peer_pubkey).exists():
|
||||
try:
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
new_alias = stub.GetNodeInfo(ln.NodeInfoRequest(pub_key=peer_pubkey)).node.alias
|
||||
update_channels = Channels.objects.filter(remote_pubkey=peer_pubkey)
|
||||
for channel in update_channels:
|
||||
|
|
@ -2733,7 +2732,7 @@ def update_alias(request):
|
|||
@api_view(['GET'])
|
||||
def get_info(request):
|
||||
try:
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
response = stub.GetInfo(ln.GetInfoRequest())
|
||||
target = {'identity_pubkey':response.identity_pubkey, 'alias':response.alias, 'num_active_channels':response.num_active_channels, 'num_peers':response.num_peers, 'block_height':response.block_height, 'block_hash':response.block_hash,'synced_to_chain':response.synced_to_chain,'testnet':response.testnet,'uris':[uri for uri in response.uris],'best_header_timestamp':response.best_header_timestamp,'version':response.version,'num_inactive_channels':response.num_inactive_channels,'chains':[{'chain':response.chains[i].chain,'network':response.chains[i].network} for i in range(0,len(response.chains))],'color':response.color,'synced_to_graph':response.synced_to_graph}
|
||||
return Response({'message': 'success', 'data':target})
|
||||
|
|
@ -2747,7 +2746,7 @@ def get_info(request):
|
|||
@api_view(['GET'])
|
||||
def api_balances(request):
|
||||
try:
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
response = stub.WalletBalance(ln.WalletBalanceRequest())
|
||||
target = {'total_balance':response.confirmed_balance, 'confirmed_balance':response.confirmed_balance}
|
||||
return Response({'message': 'success', 'data':target})
|
||||
|
|
@ -2761,7 +2760,7 @@ def api_balances(request):
|
|||
@api_view(['GET'])
|
||||
def pending_channels(request):
|
||||
try:
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
response = stub.PendingChannels(ln.PendingChannelsRequest())
|
||||
if response.pending_open_channels or response.pending_closing_channels or response.pending_force_closing_channels or response.waiting_close_channels or response.total_limbo_balance:
|
||||
target = {}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ import django
|
|||
from gui.lnd_deps import router_pb2 as lnr
|
||||
from gui.lnd_deps import router_pb2_grpc as lnrouter
|
||||
from gui.lnd_deps.lnd_connect import lnd_connect
|
||||
from lndg import settings
|
||||
from os import environ
|
||||
from time import sleep
|
||||
environ['DJANGO_SETTINGS_MODULE'] = 'lndg.settings'
|
||||
|
|
@ -11,7 +10,7 @@ from gui.models import Channels, FailedHTLCs
|
|||
|
||||
def main():
|
||||
try:
|
||||
connection = lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER)
|
||||
connection = lnd_connect()
|
||||
routerstub = lnrouter.RouterStub(connection)
|
||||
for response in routerstub.SubscribeHtlcEvents(lnr.SubscribeHtlcEventsRequest()):
|
||||
if response.event_type == 3 and str(response.link_fail_event) != '':
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ from django.contrib.auth import get_user_model
|
|||
from django.conf import settings
|
||||
BASE_DIR = Path(__file__).resolve().parent
|
||||
|
||||
def write_settings(node_ip, lnd_dir_path, lnd_network, lnd_rpc_server, whitenoise, debug, csrftrusted):
|
||||
def write_settings(node_ip, lnd_tls_path, lnd_macaroon_path, lnd_database_path, lnd_network, lnd_rpc_server, whitenoise, debug, csrftrusted):
|
||||
#Generate a unique secret to be used for your django site
|
||||
secret = secrets.token_urlsafe(64)
|
||||
if whitenoise:
|
||||
|
|
@ -48,7 +48,9 @@ DEBUG = %s
|
|||
|
||||
ALLOWED_HOSTS = ['%s']
|
||||
%s
|
||||
LND_DIR_PATH = '%s'
|
||||
LND_TLS_PATH = '%s'
|
||||
LND_MACAROON_PATH = '%s'
|
||||
LND_DATABASE_PATH = '%s'
|
||||
LND_NETWORK = '%s'
|
||||
LND_RPC_SERVER = '%s'
|
||||
|
||||
|
|
@ -157,7 +159,7 @@ USE_TZ = False
|
|||
STATIC_URL = 'static/'
|
||||
STATIC_ROOT = os.path.join(BASE_DIR, 'gui/static/')
|
||||
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
|
||||
''' % (secret, debug, node_ip, csrf, lnd_dir_path, lnd_network, lnd_rpc_server, wnl)
|
||||
''' % (secret, debug, node_ip, csrf, lnd_tls_path, lnd_macaroon_path, lnd_database_path, lnd_network, lnd_rpc_server, wnl)
|
||||
try:
|
||||
f = open("lndg/settings.py", "x")
|
||||
f.close()
|
||||
|
|
@ -245,7 +247,7 @@ def main():
|
|||
help_msg = "LNDg Initializer"
|
||||
parser = argparse.ArgumentParser(description = help_msg)
|
||||
parser.add_argument('-ip', '--nodeip',help = 'IP that will be used to access the LNDg page', default='*')
|
||||
parser.add_argument('-dir', '--lnddir',help = 'LND Directory for tls cert and admin macaroon paths', default='~/.lnd')
|
||||
parser.add_argument('-dir', '--lnddir',help = 'LND Directory for tls cert and admin macaroon paths', default=None)
|
||||
parser.add_argument('-net', '--network', help = 'Network LND will run over', default='mainnet')
|
||||
parser.add_argument('-server', '--rpcserver', help = 'Server address to use for rpc communications with LND', default='localhost:10009')
|
||||
parser.add_argument('-sd', '--supervisord', help = 'Setup supervisord to run jobs/rebalancer background processes', action='store_true')
|
||||
|
|
@ -256,9 +258,15 @@ def main():
|
|||
parser.add_argument('-u', '--adminuser', help = 'Setup a custom admin username', default='lndg-admin')
|
||||
parser.add_argument('-pw', '--adminpw', help = 'Setup a custom admin password', default=None)
|
||||
parser.add_argument('-csrf', '--csrftrusted', help = 'Set trusted CSRF origins', default=None)
|
||||
parser.add_argument('-tls', '--tlscert', help = 'Set the path to the tls cert', default=None)
|
||||
parser.add_argument('-mcrn', '--macaroon', help = 'Set the path to the macroon file', default=None)
|
||||
parser.add_argument('-lnddb', '--lnddatabase', help = 'Set the path to the channel.db for monitoring', default=None)
|
||||
args = parser.parse_args()
|
||||
if args.lnddir and (args.tlscert or args.macaroon or args.lnddatabase):
|
||||
parser.error("You may not use tlscert or macaroon flags with the lnddir flag")
|
||||
exit
|
||||
node_ip = args.nodeip
|
||||
lnd_dir_path = args.lnddir
|
||||
lnd_dir_path = args.lnddir if args.lnddir else '~/.lnd'
|
||||
lnd_network = args.network
|
||||
lnd_rpc_server = args.rpcserver
|
||||
setup_supervisord = args.supervisord
|
||||
|
|
@ -269,10 +277,13 @@ def main():
|
|||
adminuser = args.adminuser
|
||||
adminpw = args.adminpw
|
||||
csrftrusted = args.csrftrusted
|
||||
lnd_tls_path = args.tlscert if args.tlscert else lnd_dir_path + '/tls.cert'
|
||||
lnd_macaroon_path = args.macaroon if args.macaroon else lnd_dir_path + '/data/chain/bitcoin/' + lnd_network + '/admin.macaroon'
|
||||
lnd_database_path = args.lnddatabase if args.lnddatabase else lnd_dir_path + '/data/graph/' + lnd_network + '/channel.db'
|
||||
if docker:
|
||||
setup_supervisord = True
|
||||
whitenoise = True
|
||||
write_settings(node_ip, lnd_dir_path, lnd_network, lnd_rpc_server, whitenoise, debug, csrftrusted)
|
||||
write_settings(node_ip, lnd_tls_path, lnd_macaroon_path, lnd_database_path, lnd_network, lnd_rpc_server, whitenoise, debug, csrftrusted)
|
||||
if setup_supervisord:
|
||||
print('Supervisord setup requested...')
|
||||
write_supervisord_settings(sduser)
|
||||
|
|
|
|||
6
jobs.py
6
jobs.py
|
|
@ -1,5 +1,5 @@
|
|||
import django
|
||||
from django.db.models import Max, Min
|
||||
from django.db.models import Max
|
||||
from datetime import datetime, timedelta
|
||||
from gui.lnd_deps import lightning_pb2 as ln
|
||||
from gui.lnd_deps import lightning_pb2_grpc as lnrpc
|
||||
|
|
@ -159,7 +159,7 @@ def update_invoice(stub, invoice, db_invoice):
|
|||
keysend_preimage = records[5482373484].hex() if 5482373484 in records else None
|
||||
message = records[34349334].decode('utf-8', errors='ignore')[:1000] if 34349334 in records else None
|
||||
if 34349337 in records and 34349339 in records and 34349343 in records and 34349334 in records:
|
||||
signerstub = lnsigner.SignerStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
signerstub = lnsigner.SignerStub(lnd_connect())
|
||||
self_pubkey = stub.GetInfo(ln.GetInfoRequest()).identity_pubkey
|
||||
try:
|
||||
valid = signerstub.VerifyMessage(lns.VerifyMessageReq(msg=(records[34349339]+bytes.fromhex(self_pubkey)+records[34349343]+records[34349334]), signature=records[34349337], pubkey=records[34349339])).valid
|
||||
|
|
@ -602,7 +602,7 @@ def auto_fees(stub):
|
|||
def main():
|
||||
#print (f"{datetime.now().strftime('%c')} : Entering Jobs")
|
||||
try:
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
#Update data
|
||||
update_peers(stub)
|
||||
update_channels(stub)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
import secrets, time, struct
|
||||
from hashlib import sha256
|
||||
from lndg import settings
|
||||
from gui.lnd_deps import lightning_pb2 as ln
|
||||
from gui.lnd_deps import lightning_pb2_grpc as lnrpc
|
||||
from gui.lnd_deps import router_pb2 as lnr
|
||||
|
|
@ -12,7 +11,7 @@ from gui.lnd_deps.lnd_connect import lnd_connect
|
|||
def keysend(target_pubkey, msg, amount, fee_limit, timeout, sign):
|
||||
#Construct and send
|
||||
try:
|
||||
routerstub = lnrouter.RouterStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
routerstub = lnrouter.RouterStub(lnd_connect())
|
||||
secret = secrets.token_bytes(32)
|
||||
hashed_secret = sha256(secret).hexdigest()
|
||||
custom_records = [(5482373484, secret),]
|
||||
|
|
@ -20,8 +19,8 @@ def keysend(target_pubkey, msg, amount, fee_limit, timeout, sign):
|
|||
if len(msg) > 0:
|
||||
custom_records.append((34349334, bytes.fromhex(msg.encode('utf-8').hex())))
|
||||
if sign == True:
|
||||
stub = lnrpc.LightningStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
signerstub = lnsigner.SignerStub(lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER))
|
||||
stub = lnrpc.LightningStub(lnd_connect())
|
||||
signerstub = lnsigner.SignerStub(lnd_connect())
|
||||
self_pubkey = stub.GetInfo(ln.GetInfoRequest()).identity_pubkey
|
||||
timestamp = struct.pack(">i", int(time.time()))
|
||||
signature = signerstub.SignMessage(lns.SignMessageReq(msg=(bytes.fromhex(self_pubkey)+bytes.fromhex(target_pubkey)+timestamp+bytes.fromhex(msg.encode('utf-8').hex())), key_loc=lns.KeyLocator(key_family=6, key_index=0))).signature
|
||||
|
|
|
|||
|
|
@ -13,9 +13,11 @@ Including another URLconf
|
|||
1. Import the include() function: from django.urls import include, path
|
||||
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
|
||||
"""
|
||||
from django.contrib import admin
|
||||
from django.urls import path, include
|
||||
from django.views.generic.base import RedirectView
|
||||
from django.contrib.staticfiles.storage import staticfiles_storage
|
||||
|
||||
urlpatterns = [
|
||||
path('favicon.ico', RedirectView.as_view(url=staticfiles_storage.url("favicon.ico"))),
|
||||
path('', include('gui.urls')),
|
||||
]
|
||||
]
|
||||
|
|
@ -6,7 +6,6 @@ from gui.lnd_deps import lightning_pb2_grpc as lnrpc
|
|||
from gui.lnd_deps import router_pb2 as lnr
|
||||
from gui.lnd_deps import router_pb2_grpc as lnrouter
|
||||
from gui.lnd_deps.lnd_connect import lnd_connect
|
||||
from lndg import settings
|
||||
from os import environ
|
||||
environ['DJANGO_SETTINGS_MODULE'] = 'lndg.settings'
|
||||
django.setup()
|
||||
|
|
@ -29,7 +28,7 @@ def run_rebalancer(rebalance):
|
|||
rebalance.start = datetime.now()
|
||||
try:
|
||||
#Open connection with lnd via grpc
|
||||
connection = lnd_connect(settings.LND_DIR_PATH, settings.LND_NETWORK, settings.LND_RPC_SERVER)
|
||||
connection = lnd_connect()
|
||||
stub = lnrpc.LightningStub(connection)
|
||||
routerstub = lnrouter.RouterStub(connection)
|
||||
chan_ids = json.loads(rebalance.outgoing_chan_ids)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue