Commit graph

1200 commits

Author SHA1 Message Date
Kay Kurokawa da366495b0 fixing get_value_for_name bug 2016-12-28 10:37:53 -05:00
Umpei Kay Kurokawa 552ed77882 Merge pull request #358 from lbryio/fix_wallet_init_3
Fix wallet initialization
2016-12-22 12:12:27 -05:00
Jack Robison aa3353ae49 Merge pull request #345 from lbryio/better-dht-shutdown
Better dht shutdown.
2016-12-21 17:15:17 -05:00
Job Evers-Meltzer f7864e8cb7 Only store the offer explicitly when its sent
Ran into a situation where I was recieving an offer response without
something in protocol_offers. I think this was because
get_and_set_rate doesn't always populate that dictionary.

Worried that there still might be issues if the connection is
unreliable: if a response comes in twice it will error or
if a second offer is made without a response to the first
there will be an error.
2016-12-20 10:37:42 -08:00
Kay Kurokawa 1690e71ad1 setup Commands class on run, instead of on initialization 2016-12-19 19:15:59 -05:00
Kay Kurokawa 7d02e7d370 changing wallet initialization order 2016-12-19 19:15:50 -05:00
Kay Kurokawa 10810226ff Fixing bug in publisher 2016-12-19 18:41:35 -05:00
Jack Robison c0f22decd7 Merge pull request #347 from lbryio/log-error-on-lbry-files
Log failure when attempting to get_lbry_files
2016-12-19 16:22:37 -05:00
Jack 618d0ebd5b newline 2016-12-19 13:40:33 -05:00
Jack f301741807 re-use lbryid 2016-12-19 13:27:45 -05:00
Jack 0044d6cf75 BlobAvailabilityTracker.sample bug, remove whitespace 2016-12-17 20:05:27 -05:00
Jack 5a76a03cb6 remove unqlite requirement
-conditionally import PTCWallet (needed for testing, requires unqlite)

-install unqlite on travis and appveyor
2016-12-17 20:03:35 -05:00
Jack 09846413bd remove Settings.py
remove old settings class, which was only used for the lbryid and
required unqlite.

this allows the daemon startup to be simplified, it previously relied
on Settings in a few places. lbryid had been stored in the old
settings, this initializes it at startup.
2016-12-17 20:01:06 -05:00
Job Evers-Meltzer a8cb255d24 Bump version: 0.7.11rc0 → 0.7.12rc0 2016-12-16 21:45:02 -06:00
Job Evers-Meltzer 6172924021 Bump version: 0.7.8 → 0.7.11rc0 2016-12-16 20:58:24 -06:00
Job Evers-Meltzer d5d0d0e31c change error log on resolve-name to info 2016-12-16 19:51:10 -06:00
Job Evers-Meltzer 53df361d23 Log failure when attempting to get_lbry_files
I had an old version of lbryum installed and so no
names were coming back. But the daemon was failing
silently. This at least logs the error.
2016-12-16 00:32:06 -06:00
Job Evers-Meltzer 8fe15f507b Better dht shutdown.
The old code relied on the timing of DelayedCalls
to see what had been called or not, but unfortunately
we don't have a real-time OS so the timing on DelayedCalls
can only be approximate. Changed to explicitly keep
track of which calls had been made.

This simplifies the shutdown logic drastically, and I believe
we can take out the reactor.iterate() now
2016-12-15 23:44:35 -06:00
Job Evers‐Meltzer 3dde7af576 Merge pull request #339 from lbryio/all-prs
All The PRs
2016-12-15 19:42:35 -06:00
Job Evers-Meltzer 7af6e9e0dd Improve BlobAvailabilityTracker performance
For daemons with a lot of blobs, getting mean availabity
will be slow. Samples the blobs in an attempt at getting
better performance.
2016-12-15 19:03:37 -06:00
Job Evers-Meltzer 56d394fb5f Add timing to hash announcements
This could potentially be a performance issue
on reflector or any daemon with a large number of blobs.
2016-12-15 18:58:16 -06:00
Job Evers-Meltzer 3585d861ff Add TRACE level logging 2016-12-15 18:58:16 -06:00
Job Evers-Meltzer f181af8547 Cleanup code in BlobManager 2016-12-15 18:58:16 -06:00
Job Evers-Meltzer 84baa5e065 dht: refactor _msgTimeout 2016-12-15 18:58:16 -06:00
Job Evers-Meltzer 781b915717 remove unused check_consistency function 2016-12-15 18:58:16 -06:00
Job Evers-Meltzer fa29c92760 Add setting to disable reuploading to reflector 2016-12-15 18:58:16 -06:00
Job Evers-Meltzer fec917b9c1 rename platform to system_info 2016-12-15 18:58:16 -06:00
Job Evers-Meltzer 4f3b5cd802 Better logging on DHT errors
Timeout errors are common on the dht so log those
at debug, but other errors need to (potentially) recieve
more attention
2016-12-15 18:58:16 -06:00
Job Evers-Meltzer 250831a86a remove unused distance function from routingtable 2016-12-15 18:58:15 -06:00
Job Evers-Meltzer 323bccb0ae another distance optimization 2016-12-15 18:58:15 -06:00
Job Evers-Meltzer 0084d4684f Add distance optimization 2016-12-15 18:58:15 -06:00
Job Evers-Meltzer 740fad5cbe Refactor dht.node.iterativeFind
Move nested functions into a helper class.
Add new, smaller functions to increase readability
2016-12-15 18:58:15 -06:00
Job Evers-Meltzer fa8190356a replace log_support.failure calls 2016-12-15 18:58:15 -06:00
Job Evers-Meltzer 4ca33505b5 logging: add kwargs to fail() call 2016-12-15 18:58:15 -06:00
Job Evers-Meltzer 20b6b22334 Add callback functionality to log.fail
This enables the common pattern of being able to log a failure and
then do something.
2016-12-15 18:58:15 -06:00
Job Evers-Meltzer b8c91c61bb Make a new logger with a fail method that is useful for errbacks.
Extracting useful tracebacks and line numbers from failures
withing twisted's deferred can be a pain. Hopefully this is a step
in the right direction.
2016-12-15 18:58:15 -06:00
Job Evers-Meltzer c30ea04959 Remove commented code
This is the result of running eradicate (https://github.com/myint/eradicate)
on the code and double-checking the changes.
2016-12-15 18:58:06 -06:00
Kay Kurokawa 23bf43f40c fixing bug where broadcast_transaction function would not return a deferred 2016-12-15 10:28:49 -05:00
Kay Kurokawa 6f60b8b827 work on resolving threading issues with lbryum in Wallet.py 2016-12-15 10:28:49 -05:00
Kay Kurokawa 965f8f1238 removing unused get_transaction function from daemon and wallet 2016-12-15 10:28:49 -05:00
Job Evers-Meltzer 7bce37a720 pylint: add check for missing-final-newline 2016-12-14 19:21:59 -06:00
Job Evers-Meltzer 14ac2bac39 pylint: fix trailing-whitespace 2016-12-14 19:21:59 -06:00
Jeremy Kauffman 32fa2460ff sort the help functions 2016-12-14 19:21:54 -06:00
Job Evers-Meltzer f796f701f2 Immediately announce completed blobs
It doesn't seem necessary to wait up to 60 seconds for a new blob to
be announced to the dht. Immediately announce it and schedule the next
announce time as usual.
2016-12-14 19:05:24 -06:00
Kay Kurokawa bce41ddab4 Do not return 'success' and 'reason' as outputs in claim commands
We throw an Exception instead
2016-12-14 19:05:05 -06:00
Jack 5bf20096b2 fix wallet_balance when checking fee amount 2016-12-12 14:32:33 -05:00
Job Evers-Meltzer e8faadc324 fix more long lines 2016-12-07 10:10:46 -05:00
Job Evers-Meltzer b64fa51567 fixup long lines 2016-12-07 09:38:34 -05:00
Job Evers-Meltzer fe3e25982c don't lint unused files 2016-12-07 09:35:16 -05:00
Jack Robison 9ad55e93b9 Merge pull request #315 from kaykurokawa/fix_claim_bug
Fix bug to exclude support in get_my_claim
2016-12-07 09:25:44 -05:00
Jack Robison 9e7e168175 Merge pull request #319 from lbryio/reenable-startup-status-codes
Reenable startup status
2016-12-06 17:00:03 -05:00
Jack Robison f84df50d7f Merge pull request #317 from lbryio/remove-lbrynet-console
Remove lbrynet-console
2016-12-06 16:59:52 -05:00
Jack f0ed4e5513 move listen to DaemonServer startup 2016-12-06 16:34:50 -05:00
alexliebowitz 39005ffc14 Merge pull request #310 from lbryio/allow-cors-config
allow Access-Control-Allow-Origin to be configurable
2016-12-06 15:11:38 -05:00
Jack Robison 28e88d89a5 Merge pull request #313 from lbryio/config-bittrex
Add bittrex to conf
2016-12-06 12:41:45 -05:00
Jack 979f8efa79 remove unused lbrynet-console 2016-12-06 12:35:27 -05:00
Jack Robison 4c4bccfe73 Merge pull request #312 from lbryio/local-ui-conf
local_ui_path needs to be a str
2016-12-06 12:23:45 -05:00
Jack 8cb0f99e30 fix pylint errors 2016-12-06 12:22:43 -05:00
Umpei Kay Kurokawa 6076861cd0 Merge pull request #304 from kaykurokawa/remove_lbrycrd
Remove lbrycrdd
2016-12-06 12:06:09 -05:00
Job Evers‐Meltzer 8b427a92ac Merge pull request #311 from lbryio/fix-server-port
port needs to be an int
2016-12-06 09:48:08 -05:00
Kay Kurokawa 9c50cfdcdb fix bug in get_my_claim 2016-12-05 17:17:17 -05:00
Job Evers-Meltzer 8f80e8a3da add bittrex to conf 2016-12-05 17:14:25 -05:00
Job Evers-Meltzer cd44ae02a3 __getattr__ should call __getattribute__ 2016-12-05 17:06:45 -05:00
Job Evers-Meltzer 848f1f025c local_ui_path needs to be a str 2016-12-05 16:29:18 -05:00
Job Evers-Meltzer d2cc8355dc port needs to be an int 2016-12-05 16:20:16 -05:00
Job Evers ee00d1984a allow Access-Control-Allow-Origin to be configurable 2016-12-05 15:34:48 -05:00
Jack b9bb337a07 add tests for daemon.get_est_cost 2016-12-05 11:48:44 -05:00
Jack d93f86030c clean up get_est_cost functions 2016-12-05 11:48:44 -05:00
Jack d9e1e88c05 refactor get_est_cost
-add size parameter, if provided the sd blob won’t be downloaded (can
be used with size information from lighthouse)

-check if blob was already downloaded before trying to download it again
2016-12-05 11:48:43 -05:00
Job Evers-Meltzer f579c8dbb8 Bump version: 0.7.7 → 0.7.8 2016-12-02 20:05:08 -06:00
Jack Robison 13d74d1f76 Merge pull request #297 from lbryio/better-name-error
Provide better feedback on why a name is invalid
2016-12-02 12:08:58 -05:00
Job Evers-Meltzer ddf678af8a Bump version: 0.7.7rc0 → 0.7.7 2016-12-02 09:47:27 -06:00
Job Evers‐Meltzer 2c6d6d1602 Merge pull request #303 from lbryio/settings-api-fixes
Fixes to get_settings() and set_settings()
2016-12-02 09:41:22 -06:00
Alex Liebowitz 7d0e9f6ab9 Tweak logic in ApplicationSettings
Use self.environ instead of ENVIRONMENT to avoid global reference
2016-12-01 23:51:58 -05:00
Kay Kurokawa 200a22c93b Remove support for lbrycrdd wallet and related code 2016-12-01 16:45:48 -05:00
Alex Liebowitz 458561fe6f In AdjustableSettings, initialize all keys on init
Settings.update() method expects keys to already be present, so load
them all up front
2016-12-01 15:22:52 -05:00
Alex Liebowitz 157d6dca93 Save settings in conf.py 2016-12-01 15:22:52 -05:00
Alex Liebowitz 7b1b7fbf13 Call conf.settings.get_dict() in jsonrpc_get_daemon_settings() 2016-12-01 15:22:51 -05:00
Alex Liebowitz 876cdce51f Add Config.get_dict()
We don't want the version from DefaultSettings, so use super() to get
the standard functionality from conf.Settings.
2016-12-01 15:22:51 -05:00
Alex Liebowitz 205a10bc8e Refactor how adjustable settings are pulled out of config.settings
- Factor out this functionality into separate method
 - Change the set_settings() JSON-RPC method to use this (before, it was
   just returning all fields, which doesn't work anymore after the
   settings refactor)
2016-12-01 15:22:51 -05:00
Alex Liebowitz ef8d1cfdc2 Rename var in Settings.update() 2016-12-01 15:22:51 -05:00
Alex Liebowitz 879c01ba00 Add separate list of excluded fields to AdjustableSettings
Adds "environ" field. Also renames __excluded to _excluded so it can
be overridden by child classes.
2016-12-01 15:22:44 -05:00
Alex Liebowitz 8bb7517f32 Merge pull request #300 from kaykurokawa/fix_claim_defer
Missing the return of a defer.fail when claim fails, changing to raise Exception
2016-12-01 13:49:29 -05:00
Job Evers-Meltzer 70d9b3ed74 Attempt to fix analytics badstatusline error
We've started seeing a lot of:
ConnectionError: ('Connection aborted.', BadStatusLine("''",))

Hopefully this fixes the problem. Its hard to test, so I'll
have to check the logs after releasing.
2016-12-01 12:13:12 -06:00
Job Evers-Meltzer f39a21cf7b Provide better feedback on why a name is invalid 2016-12-01 11:02:37 -06:00
Umpei Kay Kurokawa 67b169c5a1 Merge pull request #300 from kaykurokawa/fix_claim_defer
Missing the return of a defer.fail when claim fails, changing to raise Exception
2016-11-30 23:08:48 -05:00
Kay Kurokawa ff10546152 Missing the return of a defer.fail when claim fails, changing to raise Exception 2016-11-30 22:57:23 -05:00
Kay Kurokawa 360f4e50a0 converting some log.info to log.debug in Wallet 2016-11-30 16:37:28 -05:00
Job Evers‐Meltzer f11f486f5a Merge pull request #292 from lbryio/allow-rc
allow for rc in version values
2016-11-30 14:16:17 -06:00
Jack Robison fe53cc97d9 Merge pull request #285 from lbryio/more-flexible-origin-check
Allow 0.0.0.0 for api interface
2016-11-30 14:04:52 -05:00
Jack 051e63d76b don't allow 0 bid 2016-11-29 20:17:06 -05:00
Job Evers-Meltzer 8cdda7d845 Bump version: 0.7.6 → 0.7.7rc0 2016-11-28 23:33:57 -06:00
Job Evers-Meltzer 6a8789050c Allow 0.0.0.0 for api interface
For a host to be able to access the daemon running inside a docker
container the damon needs to be listening to 0.0.0.0

- move the API_INTERFACE setting to the adjustablesettings
- check the port matches as well as the interface
2016-11-28 19:19:05 -06:00
Job Evers‐Meltzer 9140c95a0c Merge pull request #291 from lbryio/fix-pylint
fix pylint errors
2016-11-28 15:32:16 -06:00
Job Evers-Meltzer 6f2e2e727e fix pylint errors 2016-11-28 13:33:34 -06:00
Jack Robison 48b137fe4c Merge pull request #287 from lbryio/version-add-lbry-id
get_lbry_session_info
2016-11-28 14:26:43 -05:00
Jack a6326ee7a1 get_lbry_session_info 2016-11-28 14:16:21 -05:00
Jack bfcd84a568 use nOut in addition with txid to identify claims 2016-11-25 16:59:23 -05:00
Alex Liebowitz 4cb2a8f2aa Include LBRY ID in version() API method result 2016-11-23 20:29:45 -05:00
Alex Liebowitz 9d272befcd Convert length of shortened plaintext LBRY ID to constant 2016-11-23 20:28:16 -05:00
Job Evers 91fb78b077 Update TODO with more useful info 2016-11-22 18:14:41 -06:00
Job Evers-Meltzer 464bd11c3a Improve parsing of environment variables
Switch adjustable settings to use the envparse library. This
provides more flexible and robust parsing.
2016-11-22 18:14:36 -06:00
Job Evers-Meltzer b88e771eb2 bug fix: use proper settings dictionary 2016-11-22 16:03:37 -06:00
Job Evers-Meltzer 7a76763610 rename Setting to Settings 2016-11-22 16:03:37 -06:00
Job Evers-Meltzer 02d2bad03f allow json to be used to set settings 2016-11-22 16:03:37 -06:00
Jack Robison f65a50a6a3 Merge pull request #260 from lbryio/error-messages
meaningful error messages, improve cli, remove unused search from daemon
2016-11-22 15:54:21 -05:00
Jack 0a9ef07787 Merge branch 'master' into error-messages
# Conflicts:
#	lbrynet/lbrynet_daemon/Daemon.py
#	lbrynet/lbrynet_daemon/auth/server.py
2016-11-22 15:44:47 -05:00
Jack Robison 0e9ad16a2e Merge pull request #278 from lbryio/fix-uncaught-analytics-exception
fix uncaught analytics exception
2016-11-22 15:25:07 -05:00
Jack cd0a9ba9e8 feedback from job 2016-11-22 15:18:01 -05:00
Jack e08d0eb8f9 _log_and_render_error 2016-11-22 15:11:25 -05:00
Jack Robison 82f9cc57fd Merge pull request #283 from lbryio/fail-blank-uri
fail verify_name_characters for blank uri
2016-11-22 13:55:12 -05:00
Jack 543f65fc24 fail verify_name_characters for blank name 2016-11-21 21:58:04 -05:00
Kay Kurokawa 896a16c15d fix spelling mistake for auto connect 2016-11-19 19:29:58 -05:00
Job Evers-Meltzer 3d7dee1208 allow for rc in version values 2016-11-19 16:58:40 -06:00
Alex Liebowitz e03db79f79 Always return array from jsonrpc_get_lbry_files()
Before, would return false when there were no files in the DB.
2016-11-16 23:57:02 -05:00
Jack 0b0150ad73 fix uncaught analytics exception 2016-11-16 19:10:49 -05:00
Jack Robison 0490250da4 Merge pull request #272 from lbryio/setup-ui-defaults
Give priority to arguments over settings in UIManager.setup()
2016-11-16 18:53:26 -05:00
Job Evers-Meltzer dd952ddbe3 Bug fix: pkg_resources doesn't like cx_freeze.
Getting the location of bundling resources doesn't work
with cx_freeze so putting in some temporary error handling
while we figure out a better way to bundle the UI.
2016-11-16 15:15:46 -06:00
Alex Liebowitz 776fe41e03 Switch back to "or" style for default params in UIManager.setup() 2016-11-16 16:09:42 -05:00
Alex Liebowitz 8b1ea0a6a7 Give priority to arguments over settings in UIManager.setup() 2016-11-16 15:58:11 -05:00
Jack ba7f326e72 use log_support 2016-11-16 15:16:15 -05:00
Job Evers-Meltzer b9caf2c4a9 Bump version: 0.7.6rc0 → 0.7.6 2016-11-16 11:06:53 -06:00
Alex Grintsvayg 7ecc8103d8 improve error analytics
- move analytics creation earlier in the startup process
- add several events to track startup, startup failure, other errors
- abstract platform detection into separate file
- add "build" type to platform so we can differentiate devs vs live users
2016-11-15 10:31:35 -05:00
Alex Grintsvayg 6b72b4de11 use constants for wallet types 2016-11-15 10:31:35 -05:00
Job Evers‐Meltzer 8e1ad0aa8b Merge pull request #270 from lbryio/survive-lbry-down
Bug fix: continue even if log fails to upload
2016-11-15 08:48:05 -06:00
Job Evers‐Meltzer 5b7f80487f Merge pull request #271 from lbryio/log-lbryum-on-verbose
enable lbryum info logging when verbose
2016-11-15 08:47:51 -06:00
Job Evers-Meltzer 9940327b9a enable lbryum info logging when verbose 2016-11-14 20:34:56 -06:00
Job Evers-Meltzer b300afb504 Bug fix: continue even if log fails to upload
lbry.io being down caused lbrynet to die when uploading a log.
2016-11-14 20:16:34 -06:00
Job Evers-Meltzer 0941618048 move reflector blob client to its own module 2016-11-14 19:33:36 -06:00
Job Evers-Meltzer abc7b11e26 remove repeated code for reflector 2016-11-14 19:33:36 -06:00
Job Evers-Meltzer 85dee27c92 whitespace 2016-11-14 19:33:36 -06:00
Jack 5ae3485411 Merge branch 'master' into error-messages
# Conflicts:
#	lbrynet/dht/protocol.py
2016-11-14 14:11:02 -05:00
Jack 8f98469969 unused imports 2016-11-14 14:10:19 -05:00
Jack e1cdbdc91d fix coveralls error 2016-11-14 14:02:19 -05:00
Jack 908c9a3bfa feedback from job 2016-11-14 13:53:11 -05:00
Jack f45a2cba32 fix insufficient funds and max key fee bug 2016-11-14 13:41:05 -05:00
Jack Robison 763fefb33f Merge pull request #256 from kaykurokawa/fix_get_my_claim
Update right after making claim will fail due to get_my_claim()
2016-11-14 13:37:54 -05:00
Job Evers-Meltzer cd65b6fd13 Normalize python version
setuptools will force a version to be 'normalized'
which means that it removes the dash.

This will probably cause some weirdness on the version
numbers in the windows build; might have to re-work
my patches on cx_freeze: https://bitbucket.org/jobevers/cx_freeze/commits/all
2016-11-11 14:34:01 -06:00
Jack 472bb6af1b remove unused lighthouse search from daemon 2016-11-11 13:43:58 -05:00
Jack 7f96e35b0e clean up daemon imports and settings var name 2016-11-11 13:42:51 -05:00
Jack f9fef3d586 reactor.iterate() in dht shutdown
-fixes enigmatic  `’Port' object has no attribute 'socket’` error
2016-11-11 13:41:36 -05:00
Jack ec4f9011b9 meaningful API error messages 2016-11-11 13:40:19 -05:00
Job Evers-Meltzer d634c009d3 Bump version: 0.7.5 → 0.7.6-rc0 2016-11-11 12:04:21 -06:00
Job Evers‐Meltzer a7589914d0 Merge pull request #267 from lbryio/fix-dht-ports
Restore reactor.iterate in dht shutdown
2016-11-11 11:42:43 -06:00
Job Evers‐Meltzer 0736fa506b Merge pull request #266 from lbryio/startup-logging
more logging on startup
2016-11-11 11:11:02 -06:00
Job Evers‐Meltzer edc89be794 Merge pull request #257 from lbryio/ensure-ui-loads
bug fix: ensure the bundled ui is loaded
2016-11-11 10:26:54 -06:00
Job Evers-Meltzer d41881596d Restore reactor.iterate in dht shutdown
This reverts the change made in 693fef1964

Not sure why this is needed, but taking this out sometimes causes
`exceptions.AttributeError: 'Port' object has no attribute 'socket'`
to happen on shutdown.
2016-11-11 10:21:50 -06:00
Job Evers-Meltzer 3b34bddf0a more logging on startup 2016-11-11 10:14:41 -06:00
Jack Robison 0abc081edc Merge pull request #259 from lbryio/use-whole-message-in-auth
use whole message to make hmac
2016-11-10 17:07:39 -05:00
Kay Kurokawa 11b36ff4c8 fixing to remove supports from get_my_claim 2016-11-10 12:52:35 -05:00