Commit graph

75 commits

Author SHA1 Message Date
Jonathan Zernik
41278868bd
Create base class network sync (#639)
* itest passing with refactored peer sync

* Fix query for downloading peers

* Delete old network sync

* Revert "Delete old network sync"

This reverts commit 91d5620129.

* Delete old network sync
2021-01-13 17:41:50 -08:00
Jonathan Zernik
5572ee07d0
Use bytes for server proto (#626)
* Use bytes for squeak_hash in getsqueak method

* Use bytes for squeak hash in get offer rpc

* Use bytes for hash field in squeak message in proto

* Use bytes for hashes in lookup response

* Remove old commented code

* Use bytes for squeak hash in peer client post

* Remove old comments
2021-01-12 19:13:40 -08:00
Jonathan Zernik
1414c2163f
Delete sent offer and received offer after payment (#601)
* Delete sent offer and received offer after payment

* Fix itest for deleted offers after payment
2021-01-11 11:34:49 -08:00
Jonathan Zernik
59c73c85b3
Add get network rpc method (#563) 2021-01-05 14:37:20 -08:00
Jonathan Zernik
22f6b4fc3c
Add precommit hooks (#526) 2020-12-28 23:52:32 -08:00
Jonathan Zernik
293cbc4db5
Got all flake8 checks passing (#514)
* Got all flake8 checks passing

* Remove reorder imports from codecheck tox env
2020-12-26 04:56:46 -08:00
Jonathan Zernik
62f21874f1
Autoformat python code with tox command (#510) 2020-12-26 02:01:22 -08:00
Jonathan Zernik
00fc72514f
Use squeaklib with ptlc (#502)
* Rename secret_key

* More work to convert to using PTLC

* Updated most code for PTLC

* More work to use ptlc with secret key

* Got itest passing

* Remove unused import

* Use version 0.5.0 of squeaklib

* Added simple unit test for squeak controller

* Use modular addition subtraction for secret key nonce tweak

* Move util to core folder

* Store secret key as hex in database

* Store nonce as hex in db
2020-12-25 20:17:54 -08:00
Jonathan Zernik
d25a56ccb1
Subscribe received payments (#471)
* Got subscribe received payments working

* Add test for subscribe received payments
2020-11-21 03:30:45 -05:00
Jonathan Zernik
c5e5889135
Rename get timeline squeak displays (#469)
* Rename get timeline squeak displays and don't filter for following

* Update static build
2020-11-20 23:26:14 -05:00
Jonathan Zernik
0c072ae470
Include client_addr in sent_offer and received_payment tables (#458) 2020-11-13 04:29:20 -05:00
Jonathan Zernik
4e17c4611d
Make fields nullable false in models (#456) 2020-11-13 00:42:28 -05:00
Jonathan Zernik
2c8d6e0df5
Fix timestamp in get received payments (#453)
* Fix timestamp in get received payment rpc

* Update static build

* Fix proto numbering of received payment

* Include log line with returned received payments

* Lg the received payments reply

* Lg received payments reply list

* Lg received payments reply list

* Fix received payment component

* Remove log lines from frontend

* Remove log lines for received payment
2020-11-12 14:04:28 -05:00
Jonathan Zernik
1d68e0b569
Add sent offer table (#451)
* Rename received payments to sent offers

* Add received payments table

* Add get received payments rpc method

* Rename old received payment to sent offer in frontend

* Add received payment frontend component

* Improve logging of error in admin web request
2020-11-12 04:02:28 -05:00
Jonathan Zernik
2f8d718518
Add received payments worker (#450)
* Got subscribe invoices worker working

* Improve error message in lnd invoice worker

* Only mark received payments if paid if the invoice is settled

* Check if invoice is settled before marking received payment as paid

* Pass settle index as param to mark paid db method

* Add migration to include settle_index in sent payments table

* Got latest settle index query working, I think

* Only return received payments that are already paid in db query

* Remove unused column from get latest settle index query

* Update static build
2020-11-11 22:02:26 -05:00
Jonathan Zernik
0dde62bf46
Add received payments table and get it in rpc method (#443) 2020-11-11 03:04:09 -05:00
Jonathan Zernik
b1d8d133e6
Show time in sent payment (#431)
* Get time field in sent payment rpc

* Show sent payment time in frontend
2020-11-10 15:55:26 -05:00
Jonathan Zernik
6641e64995
Use msat as price unit (#427)
* Use price_msat for config and internally

* Use price_msat in admin protocol for offer message

* Use price_msat in sent payments table and protocol

* Update frontend to use new protocol with price_msat for offer

* Update static build
2020-11-10 02:35:24 -05:00
Jonathan Zernik
0a50a377e0
Add get profile by name rpc method (#415) 2020-11-08 12:09:46 -05:00
Jonathan Zernik
ba5ab85163
Add unique constraints for profile name and address (#414) 2020-11-08 11:32:07 -05:00
Jonathan Zernik
12a8ddc88f
Add squeak detail page (#412)
* Created squeak detail page

* Add get squeak details rpc method

* Got squeak serialized data to show

* Put style back

* Show raw squeak data in text field

* Show hash in squeak details page

* Include link to zoom in to squeak detail page from squeak page

* Update static build and frontend makefile
2020-11-07 22:19:24 -05:00
Jonathan Zernik
b29a8ca8ea
Remove whitelisted attribute, use following to build whitelist (#386)
* Remove whitelisted attribute, use following to build whitelist

* Fix update whitelist on set profile following method

* Remove whitelist feature toggle from fronted

* Update frontend build
2020-11-05 14:12:23 -05:00
Jonathan Zernik
ab3284dafc
Use hex string for squeak hash everywhere (#384)
* Use hex string for squeak hash everywhere

* Fix squeak hash in post squeak method
2020-11-05 12:54:59 -05:00
Jonathan Zernik
8c4db6f85a
Rename squeaknode docker container (#377) 2020-11-04 23:35:32 -05:00
Jonathan Zernik
d73b40c4c3
Rename getoffer rpc method (#373) 2020-11-04 07:19:39 -05:00
Jonathan Zernik
4e9bc47440
Simplify get squeak with cleared decryption key (#366)
* Simplify get squeak method of squeak store working

* Shorten sleep time for mining blocks
2020-11-04 02:23:22 -05:00
Jonathan Zernik
9e1defb037
Yield results from network sync (#360)
* Use queue to signal peer sync completion/failure

* Got network sync result from multiple peers

* Add peer connection class

* Got network sync working with network sync class

* Simplify peer timeline sync

* Remove old comments

* Make timeline sync and single squeak sync work for both upload and download

* Simplify timeline sync worker

* Got itest working for sync squeaks and download squeak

* Got sync squeak and sync squeaks rpc methods working with reply on completion of sync.

* Delete unused node controller class
2020-11-03 02:46:07 -05:00
Jonathan Zernik
fc81868e45
Add download single squeak method (#349)
* Add download single squeak method

* Add test for download squeak rpc method

* Imprive peerdownload class to only use block height only for sync method
2020-10-30 23:31:16 -04:00
Jonathan Zernik
7051a07361
Add rpc method for get sent payment by id (#300) 2020-10-18 16:23:59 -04:00
Jonathan Zernik
e834547cf6
Get sent payments working in test (#299) 2020-10-18 14:26:58 -04:00
Jonathan Zernik
8ebdc754ca
Add pay offer dialog and backend method (#296)
* Add insert sent payment method

* Delete db container from itest

* Add other container in itest

* Connect to other squeak node in itest

* Use client lightning container for itest to get offers from main node

* Get offers itest working

* Open channel to buy offer in itest

* Successfully pay offer

* Remove old print statements from itest

* Successfully unlock squeak in pay offer method

* Assert that decrypted content is correct in pay offer itest
2020-10-18 00:27:49 -04:00
Jonathan Zernik
92a77ce7bb
Add subscribe channel events rpc (#283)
* Add subscribe channel events rpc

* Upgrade lnd to 0.11.1 (#284)

* Got test working for open and close channel with subscriptions
2020-10-11 07:01:35 -07:00
Jonathan Zernik
45b089ce93
Add open channel close channel (#282)
* Add open channel and close channel rpc

* Use different context managers for open channel and connect peer

* Add test for opening channel rpc
2020-10-11 04:21:07 -07:00
Jonathan Zernik
8b9f87990d
Show peer connection in lightning node (#280)
* Show peer connection status for lightning node

* Add connect peer button to lightning node page

* Add test for connect peer

* Add working test for list peers and connect peer

* Add test for disconnect peer

* Fix sqk dir config

* Fix sqk_dir config

* Successfully connect to sqkserver_other in docker-compose

* Remove unused dialog from lightning node page
2020-10-09 05:55:32 -07:00
Jonathan Zernik
48b1b34338
Add list peers rpc method (#279) 2020-10-05 07:18:14 -07:00
Jonathan Zernik
24d041348f
Add test for send coins (#267)
* Add itest for sendcoins and get transactions

* Rename send coins itest
2020-09-30 01:37:23 -07:00
Jonathan Zernik
3a6011c645
Add get transactions rpc (#266)
* Add get transactions rpc method

* Use context manager for opening channel in itest

* Set up lnd connection in open connection context manager
2020-09-29 23:07:58 -07:00
Jonathan Zernik
71a2dacdb9
Add list channels rpc (#265)
* Add rpc method for list channels

* Add test for list channels rpc method
2020-09-29 20:49:11 -07:00
Jonathan Zernik
377eaa62d5
Add receive bitcoin button (#262)
* Add receive bitcoin button

* Add new address rpc method

* Successfully show new address in dialog in wallet

* Make address field in new address dialog read only
2020-09-28 02:02:42 -07:00
Jonathan Zernik
8d1bb513ac
Run codeformat with tox (#258) 2020-09-26 01:51:41 -07:00
Jonathan Zernik
b88dce6146
Move main module (#252)
* Move main module out of server folder

* Check which database is used to load engine

* Remove imported lnd proto modules in lightning client
2020-08-20 00:34:14 -07:00
Jonathan Zernik
2735d80d3f
Use sqlalchemy queries (#250)
* Use sqlalchemy for insert peer

* Use sqlalchemy to get peer by id

* Use sqlalchemy for get_peers

* Use sqlalchemy for set peer downloading

* Use sqlalchemy for peer delet

* Use sqlalchemy to insert squeak

* Use sqlalchemy for get squeak

* Use sqlalchemy to get squeak with profile

* Use sqlalchemy to get followed squeaks

* Use sqlalchemy for get squeaks for address

* Use sqlalchemy for get thread ancestor squeaks

* Use sqlalchemy for lookup query

* Use sqlalchemy for lookup squeaks by time

* Use sqlalchemy for lookup squeaks needing offers

* Use sqlalchemy for profile queries

* Use sqlalchemy for profile updates

* Remove log lines from insert squeak

* Use sqlalchemy for get unverified block squeaks

* Use sqlalchemy for insert offer

* Use sqlalchemy for get offer with peer

* Use sqlalchemy to delete expired offers

* Remove import of psycopg2 in db class

* Delete init.sql file
2020-08-19 21:24:35 -07:00
Jonathan Zernik
86a3bd5ba1
Get offers in sync thread (#240)
* Get offers in sync background thread

* Fix get squeaks needing offer database query

* Fix getting squeak download and offer in signle sync

* Remove get offer controller

* Remove old comments and log lines

* Remove load offers rpc method
2020-08-15 17:41:09 -07:00
Jonathan Zernik
de69b8313e
Fix itest to work with new buy offer response message (#237) 2020-08-07 18:15:39 -07:00
Jonathan Zernik
901b257b37
Add peer get offer (#230)
* Add rpc method to load buy offers for squeak hash

* Add test for load buy offers

* Fix get buy offer method challenge parameter

* Add get offers rpc method

* Fix min_block and max_block params in lookup request
2020-08-05 20:48:49 -07:00
Jonathan Zernik
fe47116430
Add delete profile method (#218) 2020-08-04 03:33:14 -07:00
Jonathan Zernik
e7a515fae3
Add delete peer method (#217)
* Add delete peer method

* Include error details when peer resource not found
2020-08-04 03:07:32 -07:00
Jonathan Zernik
2486a05d60
Rename subscription to peer (#212)
* Rename subscription to peer

* Rename subscribed to downloading

* Rename publishing to uploading

* Rename subcription to peer in frontend
2020-08-03 04:20:05 -07:00
Jonathan Zernik
bb15da7058
Add squeak store class (#201)
* Add squeak store class

* Use squeak store class to save squeaks made from make method

* Use squeak store class to get public squeak for server get

* Use squeak store class for other squeak node methods
2020-08-01 21:27:07 -07:00
Jonathan Zernik
912d122e2c
Add sleep in itest so htlc settles before close (#198) 2020-08-01 17:02:07 -07:00