Commit graph

46 commits

Author SHA1 Message Date
Daniel Krol
a82a4e7290 Fix timing with README generation
The async websocket output was happening outide of the code blocks so it
rendered wrong.
2022-09-20 14:00:59 -04:00
Daniel Krol
4f074b181c Websocket to notify clients about wallet updates 2022-09-19 18:36:55 -04:00
Daniel Krol
aac7ef713e Don't care about various error checking TODOS in test client
Creator of real implementation will obviously know to do this, looking at the server implementation to see what errors come out.
2022-08-25 15:17:01 -04:00
Daniel Krol
e2893c13e3 Add test to confirm that we can create two accounts on the server. 2022-08-13 19:37:54 -04:00
Daniel Krol
d1c5685045 Port 443 for Caddy so we have nice links in emails. No need for weird ports. 2022-08-13 15:03:06 -04:00
Daniel Krol
0e36bebdae Mailgun integration 2022-08-13 14:26:04 -04:00
Daniel Krol
58cefa4c1b test client: update_secrets -> update_derived_secrets
It doesn't update the root password.
2022-08-09 17:46:11 -04:00
Daniel Krol
126f600cac Note for auditor 2022-08-09 12:01:56 -04:00
Daniel Krol
6c9b9d07b2 Pass root password directly to SDK again.
Related to this: https://github.com/lbryio/wallet-sync-server/issues/4

Passing in a KDF output messes with the existing CLI UI for wallet locking. Also the SDK has its own encryption from password, may as well use it.
2022-08-09 10:16:48 -04:00
Daniel Krol
19396e9797 Make error message more accurate. Rename test. 2022-07-29 15:52:23 -04:00
Daniel Krol
e6f5628a94 Note for when getting auth token fails 2022-07-29 14:34:54 -04:00
Daniel Krol
4f8a648cc4 Notes for auditor. 2022-07-22 16:37:27 -04:00
Daniel Krol
f10cc8aa26 Salt Seed, used to generate secrets on client 2022-07-21 19:10:16 -04:00
Daniel Krol
dbfdff167b Confirm scrypt parameters; remove comment 2022-07-13 06:44:42 -04:00
Daniel Krol
18e30bd6b1 Outdated comment; version is now in endpoint path 2022-07-08 13:17:44 -04:00
Daniel Krol
f9e3013e64 Test client: Don't allow password change if there are pending local wallet changes.
This is in line with:

https://github.com/orblivion/lbry-wallet-sync-draft/blob/master/spec/user-flows.md#push-local-password-change

This is the only rule we have to go out of our way to implement, and it's for UI simplicity, and/or to keep the hierarchy consistent. The rest of the rules you see there sort of automatically get enforced with the existing guardrails.
2022-07-08 12:55:57 -04:00
Daniel Krol
a9f88a552c Update test client README for change password 2022-07-07 12:33:45 -04:00
Daniel Krol
231cb1b79b Test client uses new password change endpoint 2022-07-06 17:55:15 -04:00
Daniel Krol
bb9b2b845e Rename some password variables 2022-06-27 21:16:07 -04:00
Daniel Krol
3d492d8b86 Update API: PostWallet no longer returns a wallet 2022-06-23 15:22:31 -04:00
Daniel Krol
cbcd629469 Switch to hashlib scrypt because it sounds less dangerous than "hazmat" 2022-06-22 16:46:21 -04:00
Daniel Krol
5c5b7b794c update scrypt params based on a stack overflow comment. still need to audit! 2022-06-22 12:02:48 -04:00
Daniel Krol
23bd804f97 API Version in the URL, not the payload. Duh. 2022-06-16 17:58:11 -04:00
Daniel Krol
2b60c1d5ac Proper hmac from what I can tell 2022-06-16 17:21:57 -04:00
Daniel Krol
0969860290 Comment 2022-06-16 17:14:27 -04:00
Daniel Krol
e2a4e18a43 Proper KDF, though I need to tweak parameters 2022-06-16 17:06:55 -04:00
Daniel Krol
5d14041c86 Always sleep after set_preference for gen-readme.py 2022-06-16 16:14:57 -04:00
Daniel Krol
64dfae6637 CURRENT_VERSION -> WalletSync.API_VERSION 2022-06-16 14:11:11 -04:00
Daniel Krol
027e0eadf6 Allow client to communicate with either local server or dev.lbry.id 2022-06-16 11:46:29 -04:00
Daniel Krol
21c1ed01de Update README! 2022-06-15 22:24:23 -04:00
Daniel Krol
64597dcc42 Specify wallet for set/get preferences. Add comment. 2022-06-15 22:21:00 -04:00
Daniel Krol
1f5a78717d gitignores 2022-06-15 16:14:19 -04:00
Daniel Krol
2628ec7e5f Update test client to use SDK. 2022-06-14 17:28:19 -04:00
Daniel Krol
f31135dd8e Fix derived keys 2022-06-14 10:59:15 -04:00
Daniel Krol
18af5e65de Throw exception from SDK API 2022-06-14 10:58:45 -04:00
Daniel Krol
ad1864e431 Simple interface to LBRY SDK 2022-06-13 20:42:56 -04:00
Daniel Krol
d699e718dc Cooler fake derivation functions 2022-06-12 20:51:09 -04:00
Daniel Krol
729ec3050d wallet_state -> synced_wallet_state. fix for update_wallet 2022-06-12 20:37:18 -04:00
Daniel Krol
d467559dcd test client: factor out wallet sync API into class
In preparation for adding the LBRY SDK api class
2022-06-10 21:08:24 -04:00
Daniel Krol
66e5cf7fe7 Hash for help with bringing back lastSynced later 2022-06-10 15:05:07 -04:00
Daniel Krol
512ebe3e95 Protocol changes
* Regress from `lastSynced` to just `sequence` to start with something simpler
* Simplified payload: separate metadata, assume canonical way to hmac it together
  * No more "wallet state" except as a simple wrapper on the front end
* Version number in wallet payloads
2022-06-10 15:04:31 -04:00
Daniel Krol
197e228d32 Better comment about encryption 2022-06-08 12:13:07 -04:00
Daniel Krol
eccef61d0b "Full" in Auth endpoint name is no longer useful 2022-06-07 18:24:01 -04:00
Daniel Krol
41721a8f70 Delete some things we don't need anymore 2022-06-07 18:15:46 -04:00
Daniel Krol
0bf11b059c Change to normal password auth, and various things 2022-06-07 17:47:38 -04:00
Daniel Krol
2fbcf6ee6d Get/Post WalletState, account recover, test client
A few things at once because it was faster to get a demo out the door. Skipping most test implementation though I made failing stubs so I know what to fill in later.

* Get/Post WalletState
* downloadKey/email so that a second client can log in, and/or recover from lost client
* Test client in Python to demonstrate the above
* Organize into packages
2022-01-04 16:07:23 -05:00