Commit graph

2897 commits

Author SHA1 Message Date
Jack Robison
75a6ff269e refactor lbrynet-daemon into modular components (#1164)
* add daemon Component and ComponentManager classes

* convert directory and SQLiteStorage setup to be a Component

* support callbacks to component setups

* Fixed typo in ComponentManager

* convert wallet to be Component

* Use storage from session.

* Remove create_session internal function and PEP8

* Starting to convert session to its own component. Removed ref to `self.storage` from Daemon.py

* Making DHT component(broken)

* Refactored classes to reduce redundancy in getting config setting

* DHT is now it's own component

* Fixed `test_streamify` test

* Fixed regression caused by removing `peer_manager` from session

* refactor ComponentManager and Component to use instance instead of class methods

* Hash announcer, file manager, stream identifier components

* Query Handler and server components

* Reflector Component

* Fixed test_streamify(well Jack did, but ¯\_(ツ)_/¯)

* All tests now passing

* Pylint fixes

* Oops(That's all you're gonna get :-P)

* Making decorators(WIP, commit so that I don't lose work)

* Decorator made and decorating of functions done(some other changes)

* import fixes and removed temporary test function

* Fixed new broken tests from daemon refactor

* Sanitization of modules

* Reworded errors

* wallet unlock condition checks, fixed breaking changes

* Rebased on amster and other crazy stuff

* Started writing tests

* Tests for component manager

* Fix Daemon Tests

* Fixed passing mutable args in init

* Using constants instead of strings. Added CHANGELOG.md

* Now components can be skipped by setting relevant config in file.

* P-Y-L-I-N-T #angry_emoji
2018-07-05 15:21:52 -04:00
ocornoc
148cc96025 Changed "cliam" to "claim" and added accurate info for nsfw. (#1285)
* Changed "cliam" to "claim" and added accurate info for nsfw.
* Update CHANGELOG.md
2018-07-05 12:00:43 -04:00
Jack Robison
da7e7503b9
Bump version 0.20.3rc2 --> 0.20.3
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-07-03 14:32:38 -04:00
Jack Robison
5adcc86f40
Bump version 0.20.3rc1 --> 0.20.3rc2
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-07-03 13:10:35 -04:00
Victor Shyba
1cc7ce69ab set the peer search timeout as configured and raise it to 30s 2018-07-03 13:47:00 -03:00
Victor Shyba
7e0784d8e0 log a warning when peer search times out for real 2018-07-03 12:20:33 -03:00
Victor Shyba
56613a71d5 let find value run until it finds a value 2018-07-03 11:51:39 -03:00
Jack Robison
2b0d4c1603
Bump version 0.20.2 --> 0.20.3rc1
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-07-02 17:24:30 -04:00
Jack Robison
929a0cc5af
exclude self and querying node from closest contacts 2018-07-02 14:54:03 -04:00
Jack Robison
b6289d101d
fix improper sorting when getting the closest peers to a hash 2018-07-02 14:54:03 -04:00
Jack Robison
7fe92d2df0
load all finished blobs into the node datastore 2018-07-02 14:31:09 -04:00
Jack Robison
03769b94b8
accept invalid store tokens for the first expire-time after startup
this is to better handle nodes storing to us after we've restarted our node
2018-07-02 13:26:38 -04:00
Jack Robison
c2dc872a54
fix file manager startup locking up when there are many files in a channel 2018-06-29 21:45:30 -04:00
Jack Robison
e0ceaba655
fix blob_list raising an error when blobs in a stream haven't yet been created 2018-06-25 16:47:23 -04:00
Victor Shyba
c5f4f58221 collect finished deferred before cancel call 2018-06-23 18:23:25 -03:00
Jack Robison
12d1b93b5d
Bump version 0.20.2rc3 --> 0.20.2
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-06-23 11:53:23 -04:00
Jack Robison
34febf75f9
Bump version 0.20.2rc2 --> 0.20.2rc3
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-06-22 19:15:46 -04:00
Jack Robison
140c45b01f
Revert "add download progress and is downloading flag to daemon status (#1266)"
This reverts commit 2fa2269
2018-06-22 18:54:22 -04:00
Akinwale Ariwodola
2fa2269cc7
add download progress and is downloading flag to daemon status (#1266) 2018-06-21 23:49:22 +01:00
Jack Robison
4bcf0ab7fb
Bump version 0.20.2rc1 --> 0.20.2rc2
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-06-20 17:07:54 -04:00
Jack Robison
61a7fd66bf
batch insert/update claims to sqlite 2018-06-20 16:08:12 -04:00
Jack Robison
889b2facce
Bump version 0.20.1 --> 0.20.2rc1
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-06-20 16:01:24 -04:00
Jack Robison
e435a9f722
Bump version 0.20.1rc5 --> 0.20.1
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-06-19 14:05:16 -04:00
Jack Robison
ba52574091
Bump version 0.20.1rc4 --> 0.20.1rc5
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-06-19 13:51:12 -04:00
Jack Robison
eb660e23b7
fix download being stopped if the sd blob downloaded and data did not start within the timeout
fixes https://github.com/lbryio/lbry/issues/1172
2018-06-19 13:38:25 -04:00
Jack Robison
89bc26191c
fix wallet startup locking up if a lbryumx server is unavailable 2018-06-18 18:42:48 -04:00
Jack Robison
5edd8deb63
fix blob client protocol not tearing itself down properly after a failure 2018-06-18 15:30:35 -04:00
hackrush
371b27b116 Fix approximations in bid during publish 2018-06-18 10:40:33 -04:00
Jack Robison
db15169ca6
Bump version 0.20.1rc3 --> 0.20.1rc4
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-06-15 14:38:23 -04:00
Jack Robison
71e2c545fc
Merge branch 'fix-1165' 2018-06-15 14:38:01 -04:00
Jack Robison
3270693a8f
Bump version 0.20.1rc2 --> 0.20.1rc3
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-06-15 14:36:31 -04:00
Jack Robison
c26816c92d
fix database error when updating a claim that we don't have a file for (https://github.com/lbryio/lbry/issues/1165) 2018-06-15 10:21:37 -04:00
Jack Robison
e83ff47722
Bump version 0.20.1rc1 --> 0.20.1rc2
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-06-15 10:19:43 -04:00
Jack Robison
4c97d2af2e
fix request_needed_blobs for partially reflected streams 2018-06-15 10:10:49 -04:00
Jack Robison
42daf0fc3f
Bump version 0.20.0 --> 0.20.1rc1
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-06-14 17:55:10 -04:00
Jack Robison
70355145a0
fix race condition when inserting a blob to the database 2018-06-14 15:15:16 -04:00
Jack Robison
e6df378e9e
fix token validation error when the dht node has just been started (https://github.com/lbryio/lbry/issues/1248) 2018-06-14 15:07:10 -04:00
Lex Berezhny
e11a2e6f85
publish accepts decimal string for the bid value 2018-06-13 16:52:35 -04:00
Jack Robison
7030547849
Bump version 0.20.0rc14 --> 0.20.0
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-06-13 15:36:49 -04:00
Jack Robison
df7a59f40a
skip test on appveyor 2018-06-13 14:04:14 -04:00
jleute
0dbd15df7b Merge remote-tracking branch 'upstream/master' 2018-06-12 00:27:08 +02:00
jleute
9735373eef remove dependency on server_list_reverse 2018-06-12 00:10:23 +02:00
jleute
acbe3b0f65 updated test to compare original and saved config file 2018-06-12 00:06:49 +02:00
jleute
ea7ef54174 remove unused import 2018-06-12 00:06:24 +02:00
jleute
cfe5eb5d56 clean up temporary conf file 2018-06-12 00:06:21 +02:00
jleute
e00238427b add assert to test_load_save_load_config_file test 2018-06-12 00:05:50 +02:00
jleute
5926b17871 Updated unittest for saving of server lists in the conf file 2018-06-12 00:05:49 +02:00
jleute
2e3ceedc17 added unit test for reversal of conversion of config file entries 2018-06-12 00:04:35 +02:00
jleute
c411d8700b fixes #1109 2018-06-12 00:04:35 +02:00
Jack Robison
0ae89f01e6 Revert "WIP: feature/1098/sorted-claim-results" 2018-06-12 00:04:32 +02:00
Sergey Rozhnov
d66bce814c refactored unit test for sort_claim_results 2018-06-12 00:03:30 +02:00
Sergey Rozhnov
c290fb5908 refactored sorting of claims and unit tests 2018-06-12 00:02:48 +02:00
Sergey Rozhnov
156b132070 implemented additional test cases for claims sorting; updated changelog 2018-06-12 00:01:36 +02:00
Sergey Rozhnov
b770b2de6a simplified claims comparison logic; refactored unit tests 2018-06-12 00:01:36 +02:00
Sergey Rozhnov
c7ba82dc07 claim_list and claim_list_mine in Daemon return sorted results 2018-06-12 00:01:32 +02:00
Jack Robison
c0c12adefa
Bump version 0.20.0rc13 --> 0.20.0rc14
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-06-09 11:26:41 -04:00
Jack Robison
9219e5976e
update default lbryum servers 2018-06-09 11:26:26 -04:00
Jack Robison
2619c396d9
Bump version 0.20.0rc12 --> 0.20.0rc13
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-06-08 13:50:35 -04:00
Jack Robison
a1218ea565
Merge remote-tracking branch 'origin/fix_prm' 2018-06-08 13:50:23 -04:00
Jack Robison
b92800158e
Bump version 0.20.0rc11 --> 0.20.0rc12
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-06-08 13:49:36 -04:00
Jack Robison
d87d8875f6
fix migration error caused by using a current create tables query mid migration 2018-06-08 13:28:49 -04:00
Victor Shyba
8598280654 fix base brm to prm typo 2018-06-08 11:16:21 -03:00
Jack Robison
f0c732644a
Bump version 0.20.0rc10 --> 0.20.0rc11
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-06-07 15:18:30 -04:00
Jack Robison
1d0106929c
move daemon test to the same folder as the others 2018-06-07 15:02:47 -04:00
Jack Robison
a821647fbc
pylint and appveyor 2018-06-07 15:02:47 -04:00
Jack Robison
7f3ead67bf
disable forced bucket refresh during join 2018-06-07 15:02:47 -04:00
Jack Robison
f3e848b2e2
work around upnp bug
this fixes an incorrectly raised mapping conflict error which the router raises when there is a redirect for the same internal port and a different lan address.
2018-06-07 15:02:47 -04:00
Jack Robison
b0e4fc4faa
fix iterative find lockup 2018-06-07 15:02:47 -04:00
Jack Robison
af096aee41
update test 2018-06-07 15:02:47 -04:00
Jack Robison
ae631f05c3
fix teardown error 2018-06-07 15:02:47 -04:00
Jack Robison
bc0da5e2d1
only use seeds in iterative bootstrap if no contacts are known yet 2018-06-07 15:02:47 -04:00
Jack Robison
16cb6d8657
remove Session._join_deferred 2018-06-07 15:02:47 -04:00
Jack Robison
44644673d7
add profiler 2018-06-07 15:02:47 -04:00
Jack Robison
e8b402f998
remove deferredLock from iterativeFind
-fire the first iteration right away
2018-06-07 15:02:47 -04:00
Jack Robison
adca5f5993
fix routing_table_get 2018-06-07 15:02:47 -04:00
Jack Robison
4fbaaac3f3
default new contacts to protocol version 0 2018-06-07 15:02:47 -04:00
Jack Robison
db06191c33
reduce default concurrent announcers to 10
-lower rpc timeout to what it originally was
2018-06-07 15:02:47 -04:00
Jack Robison
b0a741b1f4
fix hash announcer semaphore 2018-06-07 15:02:47 -04:00
Jack Robison
537df6c8ad
log socket errors 2018-06-07 15:02:47 -04:00
Jack Robison
42eb172638
refactor announceHaveBlob
-add cached `token` to Contact objects to minimize findValue requests
-remove self_store, always store to remote contacts even if we're the closest known node to the hash
-move the store call and error handling from announceHaveBlob to a smaller function of its own
2018-06-07 15:02:47 -04:00
Jack Robison
9a63db4ec6
add protocol version to the dht and migrate old arg format for store 2018-06-07 15:02:47 -04:00
Jack Robison
7d21cc5822
pylint and more tests 2018-06-07 15:02:47 -04:00
Jack Robison
cce3c8c7b5
increase kademlia rpc timeout to 8 seconds 2018-06-07 15:02:47 -04:00
Jack Robison
0e80123615
use 12 minutes instead of 15 as delay in contact_is_good 2018-06-07 15:02:47 -04:00
Jack Robison
659632b66c
fix and update tests 2018-06-07 15:02:47 -04:00
Jack Robison
545930cea4
dht test environment fixes 2018-06-07 15:02:47 -04:00
Jack Robison
9582b7fcf5
use maybe_ping for refreshing stale buckets and storing peers
-move store refresh to its own looping call
2018-06-07 15:02:47 -04:00
Jack Robison
945da5985e
fix age used in datastore to determine if a value is expired 2018-06-07 15:02:47 -04:00
Jack Robison
921ee3c4c1
use refreshTimeout in getRefreshList 2018-06-07 15:02:47 -04:00
Jack Robison
8efede6ad6
maybe_ping bad and unknown contacts instead of only unknown 2018-06-07 15:02:47 -04:00
Jack Robison
fb3aac15fa
add optional delay argument to enqueue_maybe_ping, fix default value 2018-06-07 15:02:47 -04:00
Jack Robison
73e813f9ec
verify key size in Distance 2018-06-07 15:02:47 -04:00
Jack Robison
0d23c68797
raise attribute error for non-rpc functions in Contact 2018-06-07 15:02:47 -04:00
Jack Robison
ec1b6b2387
comments, cleaner key_bits constant 2018-06-07 15:02:47 -04:00
Jack Robison
29d5750371
pylint 2018-06-07 15:02:47 -04:00
Jack Robison
07f92014d7
omit bad contacts from getPeersForBlob
-refresh stored contacts to detect when they go offline or come back
2018-06-07 15:02:47 -04:00
Jack Robison
98e21cdba0
test re-join dht 2018-06-07 15:02:47 -04:00
Jack Robison
c521120b17
update and fix hash announcer test 2018-06-07 15:02:47 -04:00
Jack Robison
d02ed29e50
add kademlia store and expiration test 2018-06-07 15:02:47 -04:00
Jack Robison
470ebe2de3
remove unnecessary CallLaterManager from test_contact_rpc 2018-06-07 15:02:47 -04:00
Jack Robison
b5f3ed5542
update contact expiration test and add re-join after expiration test 2018-06-07 15:02:47 -04:00
Jack Robison
877da78505
ping contacts right away during refresh instead of using PingQueue
-fixes contact expiration test
2018-06-07 15:02:47 -04:00
Jack Robison
a952d2d2c8
reset _listeningPort and _listening Deferred on teardown 2018-06-07 15:02:47 -04:00
Jack Robison
3dfc6bd2cc
update CallLaterManager to be an object 2018-06-07 15:02:47 -04:00
Jack Robison
760417ff3a
pylint 2018-06-07 15:02:47 -04:00
Jack Robison
7da70cc02d
test peer expiration 2018-06-07 15:02:47 -04:00
Jack Robison
d3f4155a2b
add unit tests for contact_is_good 2018-06-07 15:02:47 -04:00
Jack Robison
d250e4d91a
add iterative find test 2018-06-07 15:02:47 -04:00
Jack Robison
950ec5bc9a
update mocks and dht tests
-reorganize dht tests
2018-06-07 15:02:47 -04:00
Jack Robison
bdd6f948ca
add port to routing_table_get 2018-06-07 15:02:47 -04:00
Jack Robison
cc32d987b2
update peer_list 2018-06-07 15:02:47 -04:00
Jack Robison
4f72098cad
use PingQueue to try refresh all contacts 2018-06-07 15:02:47 -04:00
Jack Robison
9920ff59d4
force KBucket refreshes 2018-06-07 15:02:47 -04:00
Jack Robison
ae22468fec
fix CallLaterManager trying to remove pending calls multiple times 2018-06-07 15:02:47 -04:00
Jack Robison
aee7a3aa38
simplify announceHaveBlob, remove unused getPeersForBlob 2018-06-07 15:02:47 -04:00
Jack Robison
372fb45e06
refactor dht bootstrap
after finding the closest nodes try to populate the buckets out by looking up random ids in their key ranges
2018-06-07 15:02:47 -04:00
Jack Robison
c65274e9e5
add PingQueue to KademliaProtocol 2018-06-07 15:02:47 -04:00
Jack Robison
1adf4f7818
fix constant used to check if a bucket is fresh 2018-06-07 15:02:47 -04:00
Jack Robison
05241012a2
update contact replacement in KBucket to follow BEP0005
http://www.bittorrent.org/beps/bep_0005.html
2018-06-07 15:02:47 -04:00
Jack Robison
cf3359044d
fix conditions for when a kbucket should be split
https://stackoverflow.com/a/32187456
2018-06-07 15:02:47 -04:00
Jack Robison
5631a24881
improve findCloseNodes, choose closest contacts from higher and lower buckets 2018-06-07 15:02:47 -04:00
Jack Robison
c654bfe296
use reactor clock in TreeRoutingTable instead of time module 2018-06-07 15:02:47 -04:00
Jack Robison
d4e28216a0
sort KBucket.getContacts 2018-06-07 15:02:47 -04:00
Jack Robison
95ed1e044b
raise TransportNotConnected instead of logging a warning
-add a _listening Deferred to KademliaProtocol which is called when the protocol is started
2018-06-07 15:02:47 -04:00
Jack Robison
f1e0a784d9
refactor iterativeFind, move to own file 2018-06-07 15:02:47 -04:00
Jack Robison
e5703833cf
prevent duplicate entries in the datastore 2018-06-07 15:02:47 -04:00
Jack Robison
23c202b5e4
refactor Contact class, DHT RPCs, and Contact addition/removal
-track contact failures, last replied, and last requested. use this to provide a 'contact_is_good' property on Contact objects
-ensure no duplicate contact objects are created
-remove confusing conflation of node id strings with Contact objects, update docstrings
-move RPC failure tracking to a callback/errback pair in sendRPC (so the contact is only updated once)
-handle seed nodes during the join sequence by setting their node ids after they initially reply to our ping
-name all of the kademlia RPC keyword args, remove confusing **kwargs and dictionary parsing
-add host ip/port to DHT send/receive logging to make the results comprehensible when running many nodes at once
2018-06-07 15:02:47 -04:00
Jack Robison
ad2dcf0893
add the parent node id to KBucket 2018-06-07 15:02:47 -04:00
Jack Robison
406ddaa4ef
use base class to simplify Node init
-add looping call helpers which use the same clock as the Node
2018-06-07 15:02:47 -04:00
Jack Robison
e52689a33d
remove OptimizedTreeRoutingTable for now, use TreeRoutingTable 2018-06-07 15:02:47 -04:00
Jack Robison
d65dc0aec3
disable loading DictDataStore in Node.__init__
-to be re-done when the datastore uses sqlite
2018-06-07 15:02:47 -04:00
Jack Robison
159e153393
make DataStore clock mockable 2018-06-07 15:02:47 -04:00
Jack Robison
9ed08f8fc9
remove unused constant 2018-06-07 15:02:47 -04:00
Jack Robison
a503a800ca
disable Cryptonator exchange rate feed 2018-06-07 15:02:47 -04:00
Jack Robison
b673c508cc
disable NegotiatedPaymentRateManager, use OnlyFreePaymentsManager for now 2018-06-07 15:02:47 -04:00
Jack Robison
4bd9f3bd68
remove popular hash tracking, simplify DHTPeerFinder 2018-06-07 15:02:47 -04:00
Jack Robison
e6ffd7caf8
remove hashwatcher 2018-06-07 15:02:47 -04:00
Victor Shyba
b91181e640 refactor: simplify add_completed_blob + changelog 2018-05-30 16:19:49 -03:00
Lex Berezhny
23df1d0316
Merge branch 'master' into feature/file_list_sorting 2018-05-29 22:47:09 -04:00
Lex Berezhny
3d17c92bd3 moved import certifi to run only on windows 2018-05-29 22:36:37 -04:00
Akinwale Ariwodola
c4550ef5b6 remove unused import in lbrynet.daemon.Daemon 2018-05-29 22:36:37 -04:00
Akinwale Ariwodola
97547e904e add os and sys imports 2018-05-29 22:36:37 -04:00
Victor Shyba
03968f377e change fix position to before anything else starts 2018-05-29 22:36:37 -04:00
Akinwale Ariwodola
513f5d0568 added certifi package for Twisted SSL verification on Windows 2018-05-29 22:36:37 -04:00
Jack Robison
02bcc98a6a
Bump version 0.20.0rc9 --> 0.20.0rc10
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-05-29 15:56:58 -04:00
Jack Robison
e3265714ee
Merge remote-tracking branch 'origin/1193' 2018-05-29 15:25:17 -04:00
Jack Robison
4b766eeea9
Merge remote-tracking branch 'origin/linux_analytics' 2018-05-29 15:20:46 -04:00
Lex Berezhny
6a344539a0 moved import distro into conditional statement that only runs on Linux 2018-05-29 14:49:06 -04:00
Jack Robison
9b1e687b9b
pylint 2018-05-29 14:36:00 -04:00
Sergey Rozhnov
11b882879a predictable result sorting for claim_list and claim_list_mine 2018-05-29 13:07:11 -04:00
Lex Berezhny
09e272a642 style fix 2018-05-29 12:45:42 -04:00
Lex Berezhny
d950a62200 include the new linux analytics in track events 2018-05-28 18:47:56 -04:00
Lex Berezhny
1b027fae87 add some extra linux meta data to analytics 2018-05-28 18:07:23 -04:00
Jack Robison
187f920961
disable Daemon headers check for now 2018-05-28 10:57:48 -04:00
Jack Robison
6d4b678b96
Revert "WIP: feature/1098/sorted-claim-results" 2018-05-22 17:15:34 -04:00
kafene
76a7cc4e58 refactor file list sorting per request 2018-05-21 00:24:18 -04:00
kafene
1790393273 remove unused attrgetter import 2018-05-21 00:04:27 -04:00
kafene
5069351287 refactor file_list sort to allow sorting by any field 2018-05-21 00:04:27 -04:00
kafene
72bae90e06 use range instead of xrange, list is only 10 elements and range works in python3 2018-05-21 00:04:27 -04:00
kafene
852354719f add unit test for file list sorting 2018-05-21 00:04:27 -04:00
kafene
eec3734d2f some semantic variable renaing 2018-05-21 00:04:27 -04:00
kafene
e7b22521ee remove pprint import 2018-05-21 00:04:27 -04:00
kafene
326d0cb8a3 initial naive implementation of file_list sorting 2018-05-21 00:04:21 -04:00
Sergey Rozhnov
13353bcfe4 refactored unit test for sort_claim_results 2018-05-18 18:51:28 +04:00
Sergey Rozhnov
40bcf96c3d refactored sorting of claims and unit tests 2018-05-18 12:53:32 +04:00
Victor Shyba
b48492c1d6 verify streams on a new migration instead 2018-05-17 12:29:12 -03:00
Sergey Rozhnov
3d0f74c8ce implemented additional test cases for claims sorting; updated changelog 2018-05-17 13:49:09 +04:00
Sergey Rozhnov
a7a5bb8887 simplified claims comparison logic; refactored unit tests 2018-05-17 13:36:32 +04:00
Sergey Rozhnov
208284a0f8 claim_list and claim_list_mine in Daemon return sorted results 2018-05-16 18:29:44 +04:00
Victor Shyba
b6cedfec56 batch-start the file manager 2018-05-11 12:17:55 -03:00
Victor Shyba
ca86af736e add batching support to get_supports and tests 2018-05-11 12:17:55 -03:00
Victor Shyba
d55ded78ee get claim with channel_name from a stream hash in a single query 2018-05-11 12:17:55 -03:00
Victor Shyba
acd330aa2a get claim info and channel name using a single query 2018-05-11 12:17:55 -03:00
Victor Shyba
df735252e5 verify streams only after migration 2018-05-11 12:17:55 -03:00
Jack Robison
b3bf193188
Merge remote-tracking branch 'origin/treq_and_cryptography' 2018-05-11 09:22:28 -04:00
Victor Shyba
a0a7187f7d add integrity checks after s3 download as well 2018-05-08 16:09:06 -03:00
Jack Robison
aa4240de85
track successful reflector uploads in sqlite to minimize how many streams are attempted by auto re-reflect
-increase the default `auto_re_reflect_interval` to a day
2018-05-08 14:41:56 -04:00
Victor Shyba
2299098884 add integrity check for the headers file 2018-05-07 15:10:19 -03:00
Victor Shyba
fd04c607b2 typos and fixes from code review 2018-05-07 13:11:31 -03:00
Victor Shyba
805bfbd18e remove point trader testing client 2018-05-07 11:49:54 -03:00
Victor Shyba
3ee0f9756d add treq as a dependency + pep8 2018-05-05 20:58:10 -03:00
Victor Shyba
c90140f701 make the exchange manager use treq instead of requests 2018-05-05 02:33:37 -03:00
Victor Shyba
e170f3db3e remove txrequests dependency 2018-05-05 02:20:21 -03:00
Victor Shyba
7f88dda0ae use treq on loggly 2018-05-05 02:18:03 -03:00
Victor Shyba
0bf65836c7 resume download from S3 instead of starting from scratch 2018-05-05 02:05:02 -03:00
Victor Shyba
3982e15091 download headers from s3 using treq 2018-05-05 01:16:26 -03:00
Victor Shyba
d03fc80eac make analytics use treq 2018-05-05 00:50:42 -03:00
Victor Shyba
fab932abb6 replace pycrypto->cryptography 2018-05-04 23:56:51 -03:00
Victor Shyba
b389e59452 replace pycrypto->cryptography on tests 2018-05-04 22:12:43 -03:00
Jack Robison
cc34c4b95f
Merge pull request #1189 from lbryio/faster-headers
magic
2018-05-04 11:10:43 -04:00
Thomas Zarebczan
df2339231a
magic 2018-05-04 00:47:08 -04:00
Jack Robison
6977d6944e
show local, remote, and s3 header heights in the log 2018-05-02 17:25:00 -04:00
Jack Robison
f1e3682302
socket might not have TCP_KEEPx attributes 2018-05-02 17:16:00 -04:00
Jack Robison
f42733ecba
fix tests 2018-05-02 15:00:57 -04:00
Jack Robison
129d2687b9
download headers from s3 when more than 10 chunks behind 2018-05-02 15:00:50 -04:00
Jack Robison
1f1b348638
fix handling ancient non-decodable claims 2018-04-19 17:37:23 -04:00
Jack Robison
8b7e86e046
fix appveyor? 2018-04-19 17:36:26 -04:00
Jack Robison
fe6a850fc5
appveyor 2018-04-19 17:11:27 -04:00
Jack Robison
9c25a37d4d
Bump version 0.20.0rc8 --> 0.20.0rc9
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-04-19 17:04:48 -04:00
Jack Robison
1e87767a0c
fix appveyor 2018-04-19 16:56:48 -04:00
Jack Robison
487ef6516e
fix reflector test 2018-04-19 16:35:15 -04:00
Jack Robison
4a1f3a79a5
fix mock announcer 2018-04-19 16:18:19 -04:00
Jack Robison
11aad04c31
datagram decode error logging 2018-04-19 15:47:42 -04:00
Jack Robison
b89823c968
fix blob announce locking up the daemon process 2018-04-19 15:47:19 -04:00
Jack Robison
baf55165aa
lint 2018-04-19 14:35:11 -04:00
Jack Robison
769bc2e36e
Revert "elif"
This reverts commit c3e047a2aa.
2018-04-19 14:34:49 -04:00
Alex Grintsvayg
c3e047a2aa elif 2018-04-19 13:47:24 -04:00
Jack Robison
1c793931ed
Bump version 0.20.0rc7 --> 0.20.0rc8
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-04-19 12:31:54 -04:00
Jack Robison
fa49b40389
fix claim_show 2018-04-19 12:31:36 -04:00
Jack Robison
89b4487eb9
Bump version 0.20.0rc6 --> 0.20.0rc7
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-04-19 11:05:42 -04:00
Jack Robison
450bed6350
fix kwargs bug 2018-04-19 11:00:44 -04:00
Alex Grintsvayg
f8e418fb44 undeprecated report_bug while app team works on a new bug reporting flow 2018-04-18 14:58:58 -04:00
Jack Robison
2655797692
move docs tests to own file 2018-04-12 14:04:22 -04:00
Niko
c089f1954a
fix documentation for blob_reflect 2018-04-12 13:27:06 -04:00
Niko
0a14d51b96
fix documentation for peer_ping command 2018-04-12 13:08:58 -04:00
Jack Robison
bb7e17e54a
Bump version 0.20.0rc5 --> 0.20.0rc6
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-04-03 13:21:17 -04:00
Jack Robison
5cea031f38
return list of dictionaries from peer_list, include peer node ids 2018-04-03 13:10:30 -04:00
Jack Robison
2903ccaeb4
add peer_ping 2018-04-03 13:10:30 -04:00
Jack Robison
eae97a8133
off by one 2018-04-03 13:08:36 -04:00
Jack Robison
bc3128ae3b
Bump version 0.20.0rc4 --> 0.20.0rc5
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-04-03 12:34:45 -04:00
Jack Robison
4e7bdafdcf
fix positional and keyword args 2018-04-03 12:27:49 -04:00
Jack Robison
12d378af13
show not connected error in lbrynet-cli when using auth 2018-04-03 12:25:18 -04:00
Jack Robison
ca73d632d3
Bump version 0.20.0rc3 --> 0.20.0rc4
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-04-02 10:13:02 -04:00
Jack Robison
743ae59d54
fix lbrynet-cli when using authentication
-add explanation of daemon authentication to AuthJSONRPCServer docstring
-remove auth_required decorator, use auth for all api methods if use_authentication is true
-fix issues with the command line --http-auth flag to lbrynet-daemon and the use_http_auth setting in the config file
2018-04-01 18:31:03 -04:00
Jack Robison
ea5190aa9a
Bump version 0.20.0rc2 --> 0.20.0rc3
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-03-29 15:06:41 -04:00
Jack Robison
51662b1e5b
re-add hash_queue_size function 2018-03-29 15:06:08 -04:00
Jack Robison
789ca3693f
Bump version 0.20.0rc1 --> 0.20.0rc2
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-03-29 12:20:54 -04:00
Jack Robison
8c2b626f97
fix cli kwargs 2018-03-29 12:19:41 -04:00
Jack Robison
0279d37b32
fix status docstring 2018-03-29 12:19:18 -04:00
Jack Robison
f4aca40ff9
Bump version 0.19.3rc2 --> 0.20.0rc1
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-03-29 09:55:34 -04:00
Jack Robison
08e9f9ac0e
Bump version 0.19.3rc1 --> 0.19.3rc2
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-03-29 09:50:14 -04:00
Jack Robison
9a9b2f47ce
pass sd_hash to reflector client factory instead of looking it up 2018-03-29 09:46:34 -04:00
Jack Robison
b9600101ae
Bump version 0.19.2 --> 0.19.3rc1
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-03-28 19:36:39 -04:00
Jack Robison
492858596e
add single_announce column to blob table
-remove deprecated blob_announce_all function
-remove announce_all parameter to blob_announce
-change blob_announce to be asynchronous
2018-03-28 18:50:24 -04:00
Jack Robison
dff1fd3fe9
logging, raise default concurrent announcers 2018-03-28 18:50:24 -04:00
Jack Robison
eabf4a0e40
remove delay from udp write 2018-03-28 18:50:24 -04:00
Jack Robison
5bab6f7d39
remove bandwidth stats 2018-03-28 18:50:24 -04:00
Jack Robison
a41bbd5e27
pylint and tests 2018-03-28 18:50:18 -04:00
Jack Robison
43d3f7c087
add concurrent_announcers to config 2018-03-28 15:53:51 -04:00
Jack Robison
c5bf64cf0a
refactor DHTHashAnnouncer
-remove hash_announcer from Node and DiskBlobManager
-remove announcement related functions from DiskBlobManager
-update SQLiteStorage to store announcement times and provide blob hashes needing to be announced
-use dataExpireTimeout from lbrynet.dht.constants for re-announce timing
-use DeferredSemaphore for concurrent blob announcement
2018-03-28 15:53:51 -04:00
Jack Robison
ea0ea704a2
refactor iterativeAnnounceHaveBlob
-change to only self_store if the number of contacts to store to is less than k and we are the closest node to the hash
2018-03-28 15:53:51 -04:00
Jack Robison
14f9bb7b82
log EWOULDBLOCK 2018-03-28 15:53:51 -04:00
Jack Robison
a8025b02c6
log invalid vs missing token 2018-03-28 15:53:51 -04:00
Jack Robison
333d70860b
add last_announced_time to blob table 2018-03-28 15:53:50 -04:00
Lex Berezhny
267f50474b
removing more references to PTCWallet 2018-03-28 15:53:50 -04:00
Lex Berezhny
866f220d9b
removed PTCWallet 2018-03-28 15:53:50 -04:00
Jack Robison
a96d827c0f
use reactor time in Delay 2018-03-28 15:53:50 -04:00
Jack Robison
4eab77fa10
safe start_listening 2018-03-28 15:53:50 -04:00
Jack Robison
5013426e02
logging and docstring 2018-03-28 15:53:50 -04:00
Jack Robison
cb09be5336
remove unused stuff 2018-03-28 15:53:50 -04:00
Lex Berezhny
339e666f38
+ Wallet.wait_for_tx_in_wallet 2018-03-28 15:53:49 -04:00
Jack Robison
ebe5dd0e68
better ping test 2018-03-28 15:53:49 -04:00
Jack Robison
1db44d5fb6
rename variable 2018-03-28 15:53:49 -04:00
Jack Robison
fd7a771f66
add sanity check to CreateEncryptedFileTest 2018-03-28 15:53:49 -04:00
Jack Robison
5628d0825b
add CallLaterManager 2018-03-28 15:53:49 -04:00
Jack Robison
88970cb0a8
move peer manager class to lbrynet.core 2018-03-28 15:53:49 -04:00
Jack Robison
d2a6dd3ed3
add dht functional tests 2018-03-28 15:53:49 -04:00
Jack Robison
1eff35ce76
update dht unit tests to use task.Clock 2018-03-28 15:53:49 -04:00
Jack Robison
0ab5dd28bc
update tests 2018-03-28 15:53:48 -04:00
Jack Robison
2e30ce9ae5
add mock udp transport layer 2018-03-28 15:53:48 -04:00
Jack Robison
87c69742cd
log packet encoding errors and warn if the transport is not connected 2018-03-28 15:53:48 -04:00
Jack Robison
b4bc5e2110
cancel callLater on error or timeout 2018-03-28 15:53:48 -04:00
Jack Robison
df78f7ff9f
add response assertion to announce_to_peer 2018-03-28 15:53:48 -04:00
Jack Robison
bdba263224
catch TimeoutError in _IterativeFindHelper 2018-03-28 15:53:48 -04:00
Jack Robison
16fcc3f5c1
findValue inlinecallbacks refactor 2018-03-28 15:53:48 -04:00
Jack Robison
43896c8d17
refactor joinNetwork into smaller functions
-try to re-join network if no contacts are known
2018-03-28 15:53:47 -04:00
Jack Robison
04e76443c6
move dht node component setup from Session into Node 2018-03-28 15:53:47 -04:00
Jack Robison
e6caedac91
remove DHTHashSupplier class, move former functions into DHTHashAnnouncer 2018-03-28 15:53:47 -04:00
Jack Robison
6666468640
add reactor arguments to Node
-adds reactor (clock) and reactor functions listenUDP, callLater, and resolve as arguments to Node.__init__
-set the reactor clock on LoopingCalls to make them easily testable
-convert callLater manage loops to LoopingCalls
2018-03-28 15:53:47 -04:00
Jack Robison
efaa97216f
move dht node setup back into node class 2018-03-28 15:53:47 -04:00
Jack Robison
e30ea50ef4
more 2018-03-28 15:53:47 -04:00
Jack Robison
3296c0fb3d
move dht related classes to lbrynet.dht 2018-03-28 15:53:47 -04:00
Jack Robison
54a152fa8e
fix merge conflict in dht tests 2018-03-28 15:53:46 -04:00
Kay Kurokawa
9088d152b5
better to keey track of retry count in function instead of unbounded dictionary 2018-03-28 15:53:46 -04:00
Kay Kurokawa
4cb461601e
result must be set here, otherwise it will not be defined when used later. Add test for it 2018-03-28 15:53:46 -04:00
Kay Kurokawa
0425c95b68
No need for clock now in test for DHTHashAnnouncer 2018-03-28 15:53:46 -04:00
Kay Kurokawa
75b977dff9
we just have one supplier not a list of suppliers 2018-03-28 15:53:46 -04:00
Kay Kurokawa
60c7261871
add single_hash_announce_duration as a field that gets return for API call status for dht status 2018-03-28 15:53:46 -04:00
Kay Kurokawa
0f3385e4dc
make the single hash announce duration adjustable in DHTHashSupplier 2018-03-28 15:53:46 -04:00
Jack Robison
ad6a2bef7f
handle error from old clients with a broken ping command 2018-03-28 15:53:45 -04:00
Jack Robison
446c3a88dc
refactor DHTHashAnnouncer and iterativeAnnounceHaveBlob
-use looping call for running manage function rather than a scheduled
callLater

-track announce speed

-retry store requests that failed up to 3 times

-return a dict of {blob_hash: [storing_node_id]} results from
_announce_hashes

_refreshRoutingTable inline cb refactor

-add and use DeferredLockContextManager

-don't trap errback from iterativeFindNode in iterativeAnnounceHaveBlob
2018-03-28 15:53:45 -04:00
Jack Robison
67ef8be7b7
convert node manage function to a looping call 2018-03-28 15:53:45 -04:00
Jack Robison
ecbe4113ce
move Distance to own file 2018-03-28 15:53:45 -04:00
Jack Robison
b75c8d96ce
Bump version 0.19.2rc3 --> 0.19.2
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-03-28 15:35:46 -04:00
Jack Robison
cb83531d05
Bump version 0.19.2rc2 --> 0.19.2rc3
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-03-28 15:15:47 -04:00
Jack Robison
dc65fd148e
Bump version 0.19.2rc1 --> 0.19.2rc2
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-03-26 13:36:51 -04:00
Jack Robison
439a0f8778
fix docstrings
-add docopt unit test
2018-03-26 13:20:33 -04:00
hackrush
aa7b440989 Fixed regression in stream_availablity command 2018-03-26 19:43:06 +05:30
Jack Robison
f0742675b8
Merge branch 'master' into no-short-flags 2018-03-23 14:59:53 -04:00
Alex Grintsvayg
9ee5a3511d missed this in dht-compat merge 2018-03-23 12:50:18 -04:00
Jack Robison
69657750b8
Bump version 0.19.1 --> 0.19.2rc1
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-03-22 17:04:12 -04:00
Jack Robison
cb069ca002
add blob_reflect 2018-03-22 16:54:29 -04:00
Jack Robison
3085e28490
don't try to resend failed blobs to reflector
-fixes infinite loop where client keeps trying to send failing blobs, which may be failing because they are invalid

-return list of reflected blob hashes from BlobReflectorClient
2018-03-22 16:53:16 -04:00
Jack Robison
679c2f403f
fix incorrectly raised DownloadCanceledError for already verified blobs
-make InvalidDataError message clearer
-fix BlobReflectorClient result
2018-03-22 13:23:12 -04:00
Jack Robison
de280b5ebf
Bump version 0.19.1rc7 --> 0.19.1
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-03-20 10:15:50 -04:00
Jack Robison
113cc8bb15
Bump version 0.19.1rc6 --> 0.19.1rc7
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-03-19 14:31:17 -04:00
Jack Robison
b28bdbd752
rename existing reupload.reflect_stream --> reupload.reflect_file, add a reupload.reflect_stream function 2018-03-19 13:55:11 -04:00
Jack Robison
f94a9e8729
start lbry files in parallel 2018-03-19 13:46:27 -04:00
Jack Robison
43c73b9abf
fix slow sqlite query 2018-03-19 13:31:05 -04:00
hackrush
3724fa1810 Removed last flag decorator 2018-03-18 16:11:19 +05:30
hackrush
f7f6770120 Removed flags decorator as short flags are no longer used. 2018-03-18 16:11:19 +05:30
hackrush
1d9c996217
Merge pull request #1148 from lbryio/channel-bid
Update channel balance checking to match claim balance checking
2018-03-17 09:05:08 +05:30
hackrush
2b69d2fad0
Fix pylint error 2018-03-16 21:42:40 +05:30
Jack Robison
0313f857ba
don't try to delete the stream terminator from the blob table when deleting a stream 2018-03-15 17:44:54 -04:00
Jack Robison
8af96a0c51
don't try to announce the stream terminator 2018-03-15 17:42:21 -04:00
Jack Robison
adb1291c09
fix blob list key error 2018-03-15 09:55:40 -04:00
Thomas Zarebczan
b218e84d29
update channel balance checking to match claim
Simple balance check before calling get_max_usable_balance_for_claim - matches what happens on the claim.

Also provide clearer error message about maximum amount
2018-03-15 09:42:17 -04:00
Jack Robison
80fcb760b7
Bump version 0.19.1rc5 --> 0.19.1rc6
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-03-14 16:45:39 -04:00
Jack Robison
bc2f5901a7
Merge branch 'add-txlbryum' 2018-03-14 15:07:57 -04:00
Lex Berezhny
633b49da92 removed RequestCounter 2018-03-14 15:01:47 -04:00
Jack Robison
76b3d219c8
Bump version 0.19.1rc4 --> 0.19.1rc5
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-03-14 13:54:05 -04:00
Jack Robison
e94d10d3eb
only call get_max_usable_balance_for_claim in Wallet.py if the bid looks too high for the balance 2018-03-14 13:47:34 -04:00
Jack Robison
25eb64b346
Bump version 0.19.1rc3 --> 0.19.1rc4
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-03-13 17:34:08 -04:00
Jack Robison
9b44ba7c84
only call get_max_usable_balance when the bid might be too high 2018-03-13 17:32:29 -04:00
Jack Robison
69ecc6ce90
Bump version 0.19.1rc2 --> 0.19.1rc3
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-03-13 11:44:27 -04:00
Jack Robison
cde78f8134
migrate configured download directory instead of assuming the default 2018-03-13 11:40:34 -04:00
Alex Grintsvayg
d0aa0a7d0c make dht forwards-compatible for upcoming switch to standardized bencode dict keys 2018-03-13 09:43:32 -04:00
Lex Berezhny
37bfed8aee
Merge pull request #1137 from lbryio/new-channel-fix
Error cleanly when claiming a new channel with exact or higher amount than balance
2018-03-12 16:17:18 -04:00
hackrush
16f2a5429b Name and output message fix. 2018-03-13 01:26:18 +05:30
Jack Robison
e881b608bf
Revert "don't block daemon startup on the file manager"
This reverts commit f25b772
2018-03-12 10:44:29 -04:00
Jack Robison
b41bb9beee
Bump version 0.19.1rc1 --> 0.19.1rc2
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-03-09 14:14:02 -05:00
Jack Robison
f25b772b56
don't block daemon startup on the file manager 2018-03-09 14:09:07 -05:00
Jack Robison
f07e696c31
fix get_pending_blobs_for_stream 2018-03-09 14:07:26 -05:00
hackrush
f5aadf3918 Sanitized logged error for channel and name claims 2018-03-09 21:28:33 +05:30
hackrush
6d4af4ba90 Error cleanly when claiming a new channel with exact or higher amount than balance
fixes #1107
2018-03-09 21:28:33 +05:30
Jack Robison
96e30984c1
Bump version 0.19.0 --> 0.19.1rc1
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-03-08 16:51:23 -05:00
Jack Robison
81de5fbbf4
verify_will_announce_head_and_sd_blobs 2018-03-08 16:46:39 -05:00
Jack Robison
cdfb7f4cb4
fix blob_list error 2018-03-08 16:43:22 -05:00
Jack Robison
3f1bcbffeb
fix blob_announce when announcing a single blob 2018-03-07 18:25:30 -05:00
Jack Robison
2040748c62
add stratum client protocol 2018-03-06 14:30:19 -05:00
hackrush
14c01b095b Added tests for removing short args in cli 2018-03-06 03:50:12 +05:30
hackrush
da4a24d79f Added scripts to autogenerate docs and api from docstring
Summary of changes
  Removed single dashed(short args) arguments(possibly breaking changes
for app side)
  Standardised the docstrings
  Added scripts to autogenerate API and CLI documentation using the
docstrings
2018-03-06 03:50:12 +05:30
Alex Grintsvayg
95e12a208d deprecate report_bug 2018-03-05 14:17:57 -05:00
Jack Robison
67a3001a0b
Bump version 0.19.0rc38 --> 0.19.0
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-03-02 23:01:23 -05:00
Jack Robison
a12b011b1e
get file claim info by outpoint 2018-03-02 18:25:53 -05:00
Jack Robison
2c91d30655
Bump version 0.19.0rc37 --> 0.19.0rc38
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-03-02 17:36:56 -05:00
Jack Robison
7862ee6715
fix blob_announce command 2018-03-02 16:46:07 -05:00
Jack Robison
01c4c6ed97
fetch claim heights 2018-03-02 16:46:02 -05:00
Jack Robison
6a4b65a796
have get fail when given a channel uri before attempting to resolve 2018-03-02 15:34:34 -05:00
Jack Robison
35426c7350
remove some unused code 2018-03-02 15:34:34 -05:00
Jack Robison
1958327796
comments and logging 2018-03-02 15:34:34 -05:00
Jack Robison
76cb674ebb
fix updating content claims for existing files
-update lbry file attributes as soon as a change to the content claim occurs
2018-03-02 15:34:20 -05:00
Jack Robison
d1240541c8
always update lbry file attributes after publishing 2018-03-02 15:33:48 -05:00
Jack Robison
91229aac6e
remove old stream on a publish update 2018-03-02 15:33:48 -05:00
Jack Robison
96d435cebd
don't import reactor, set in SqliteConnection 2018-03-02 15:15:42 -05:00
Jack Robison
bceaaa5724
delay re-running query after database locked error 2018-03-02 15:15:41 -05:00
Jack Robison
a1aadb0bce
fix join_dht attribute error 2018-03-02 15:13:22 -05:00
Alex Grintsvayg
d086fb9547 only log errors to loggly 2018-03-01 16:31:00 -05:00
Alex Grintsvayg
fa33110d04 stop spamming cryptonator errors. fixes #984 2018-02-27 14:06:45 -05:00
Jack Robison
dafa80ce29
Merge branch 'master' into update_fix 2018-02-22 14:10:51 -05:00