{"action":"closed","number":513,"pull_request":{"url":"https://api.github.com/repos/kyuupichan/electrumx/pulls/513","id":200258774,"node_id":"MDExOlB1bGxSZXF1ZXN0MjAwMjU4Nzc0","html_url":"https://github.com/kyuupichan/electrumx/pull/513","diff_url":"https://github.com/kyuupichan/electrumx/pull/513.diff","patch_url":"https://github.com/kyuupichan/electrumx/pull/513.patch","issue_url":"https://api.github.com/repos/kyuupichan/electrumx/issues/513","number":513,"state":"closed","locked":false,"title":"Improve ElectrumX Extensibility","user":{"login":"eukreign","id":69960,"node_id":"MDQ6VXNlcjY5OTYw","avatar_url":"https://avatars1.githubusercontent.com/u/69960?v=4","gravatar_id":"","url":"https://api.github.com/users/eukreign","html_url":"https://github.com/eukreign","followers_url":"https://api.github.com/users/eukreign/followers","following_url":"https://api.github.com/users/eukreign/following{/other_user}","gists_url":"https://api.github.com/users/eukreign/gists{/gist_id}","starred_url":"https://api.github.com/users/eukreign/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eukreign/subscriptions","organizations_url":"https://api.github.com/users/eukreign/orgs","repos_url":"https://api.github.com/users/eukreign/repos","events_url":"https://api.github.com/users/eukreign/events{/privacy}","received_events_url":"https://api.github.com/users/eukreign/received_events","type":"User","site_admin":false},"body":"This PR has two new features:\r\n\r\n1. A new `Event` attribute on `Controller` called `tcp_server_started` which allows someone integrating electrumx to know when electrumx is finished starting. We're currently using this in an integration testing framework: https://github.com/lbryio/orchstr8/blob/master/orchstr8/services.py#L93\r\n\r\n2. `Env` class now accepts a coin class as the first argument, this makes it possible to load coin classes that are not built-in to electrumx, examples from two projects:\r\n  b. https://github.com/lbryio/lbryumx/blob/master/lbryumx_server.py#L20\r\n  a. https://github.com/lbryio/orchstr8/blob/master/orchstr8/services.py#L90","created_at":"2018-07-10T01:15:21Z","updated_at":"2018-07-10T20:12:48Z","closed_at":"2018-07-10T20:12:48Z","merged_at":null,"merge_commit_sha":"a0200a2dbb26e6bcb9e4a4ae7bc7ea61cda3ba6b","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/kyuupichan/electrumx/pulls/513/commits","review_comments_url":"https://api.github.com/repos/kyuupichan/electrumx/pulls/513/comments","review_comment_url":"https://api.github.com/repos/kyuupichan/electrumx/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kyuupichan/electrumx/issues/513/comments","statuses_url":"https://api.github.com/repos/kyuupichan/electrumx/statuses/b10c7e1a3bc4add703989473d76ac24da0eef161","head":{"label":"lbryio:extensible","ref":"extensible","sha":"b10c7e1a3bc4add703989473d76ac24da0eef161","user":{"login":"lbryio","id":13889222,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEzODg5MjIy","avatar_url":"https://avatars3.githubusercontent.com/u/13889222?v=4","gravatar_id":"","url":"https://api.github.com/users/lbryio","html_url":"https://github.com/lbryio","followers_url":"https://api.github.com/users/lbryio/followers","following_url":"https://api.github.com/users/lbryio/following{/other_user}","gists_url":"https://api.github.com/users/lbryio/gists{/gist_id}","starred_url":"https://api.github.com/users/lbryio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lbryio/subscriptions","organizations_url":"https://api.github.com/users/lbryio/orgs","repos_url":"https://api.github.com/users/lbryio/repos","events_url":"https://api.github.com/users/lbryio/events{/privacy}","received_events_url":"https://api.github.com/users/lbryio/received_events","type":"Organization","site_admin":false},"repo":{"id":127152776,"node_id":"MDEwOlJlcG9zaXRvcnkxMjcxNTI3NzY=","name":"electrumx","full_name":"lbryio/electrumx","owner":{"login":"lbryio","id":13889222,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEzODg5MjIy","avatar_url":"https://avatars3.githubusercontent.com/u/13889222?v=4","gravatar_id":"","url":"https://api.github.com/users/lbryio","html_url":"https://github.com/lbryio","followers_url":"https://api.github.com/users/lbryio/followers","following_url":"https://api.github.com/users/lbryio/following{/other_user}","gists_url":"https://api.github.com/users/lbryio/gists{/gist_id}","starred_url":"https://api.github.com/users/lbryio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lbryio/subscriptions","organizations_url":"https://api.github.com/users/lbryio/orgs","repos_url":"https://api.github.com/users/lbryio/repos","events_url":"https://api.github.com/users/lbryio/events{/privacy}","received_events_url":"https://api.github.com/users/lbryio/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/lbryio/electrumx","description":"Alternative implementation of spesmilo/electrum-server","fork":true,"url":"https://api.github.com/repos/lbryio/electrumx","forks_url":"https://api.github.com/repos/lbryio/electrumx/forks","keys_url":"https://api.github.com/repos/lbryio/electrumx/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lbryio/electrumx/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lbryio/electrumx/teams","hooks_url":"https://api.github.com/repos/lbryio/electrumx/hooks","issue_events_url":"https://api.github.com/repos/lbryio/electrumx/issues/events{/number}","events_url":"https://api.github.com/repos/lbryio/electrumx/events","assignees_url":"https://api.github.com/repos/lbryio/electrumx/assignees{/user}","branches_url":"https://api.github.com/repos/lbryio/electrumx/branches{/branch}","tags_url":"https://api.github.com/repos/lbryio/electrumx/tags","blobs_url":"https://api.github.com/repos/lbryio/electrumx/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lbryio/electrumx/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lbryio/electrumx/git/refs{/sha}","trees_url":"https://api.github.com/repos/lbryio/electrumx/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lbryio/electrumx/statuses/{sha}","languages_url":"https://api.github.com/repos/lbryio/electrumx/languages","stargazers_url":"https://api.github.com/repos/lbryio/electrumx/stargazers","contributors_url":"https://api.github.com/repos/lbryio/electrumx/contributors","subscribers_url":"https://api.github.com/repos/lbryio/electrumx/subscribers","subscription_url":"https://api.github.com/repos/lbryio/electrumx/subscription","commits_url":"https://api.github.com/repos/lbryio/electrumx/commits{/sha}","git_commits_url":"https://api.github.com/repos/lbryio/electrumx/git/commits{/sha}","comments_url":"https://api.github.com/repos/lbryio/electrumx/comments{/number}","issue_comment_url":"https://api.github.com/repos/lbryio/electrumx/issues/comments{/number}","contents_url":"https://api.github.com/repos/lbryio/electrumx/contents/{+path}","compare_url":"https://api.github.com/repos/lbryio/electrumx/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lbryio/electrumx/merges","archive_url":"https://api.github.com/repos/lbryio/electrumx/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lbryio/electrumx/downloads","issues_url":"https://api.github.com/repos/lbryio/electrumx/issues{/number}","pulls_url":"https://api.github.com/repos/lbryio/electrumx/pulls{/number}","milestones_url":"https://api.github.com/repos/lbryio/electrumx/milestones{/number}","notifications_url":"https://api.github.com/repos/lbryio/electrumx/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lbryio/electrumx/labels{/name}","releases_url":"https://api.github.com/repos/lbryio/electrumx/releases{/id}","deployments_url":"https://api.github.com/repos/lbryio/electrumx/deployments","created_at":"2018-03-28T14:28:28Z","updated_at":"2018-07-10T01:43:48Z","pushed_at":"2018-07-10T20:10:50Z","git_url":"git://github.com/lbryio/electrumx.git","ssh_url":"git@github.com:lbryio/electrumx.git","clone_url":"https://github.com/lbryio/electrumx.git","svn_url":"https://github.com/lbryio/electrumx","homepage":null,"size":2063,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"kyuupichan:master","ref":"master","sha":"ddae0079a70bf3736e5b7950ac85794bc43ce89f","user":{"login":"kyuupichan","id":3319176,"node_id":"MDQ6VXNlcjMzMTkxNzY=","avatar_url":"https://avatars1.githubusercontent.com/u/3319176?v=4","gravatar_id":"","url":"https://api.github.com/users/kyuupichan","html_url":"https://github.com/kyuupichan","followers_url":"https://api.github.com/users/kyuupichan/followers","following_url":"https://api.github.com/users/kyuupichan/following{/other_user}","gists_url":"https://api.github.com/users/kyuupichan/gists{/gist_id}","starred_url":"https://api.github.com/users/kyuupichan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kyuupichan/subscriptions","organizations_url":"https://api.github.com/users/kyuupichan/orgs","repos_url":"https://api.github.com/users/kyuupichan/repos","events_url":"https://api.github.com/users/kyuupichan/events{/privacy}","received_events_url":"https://api.github.com/users/kyuupichan/received_events","type":"User","site_admin":false},"repo":{"id":70314805,"node_id":"MDEwOlJlcG9zaXRvcnk3MDMxNDgwNQ==","name":"electrumx","full_name":"kyuupichan/electrumx","owner":{"login":"kyuupichan","id":3319176,"node_id":"MDQ6VXNlcjMzMTkxNzY=","avatar_url":"https://avatars1.githubusercontent.com/u/3319176?v=4","gravatar_id":"","url":"https://api.github.com/users/kyuupichan","html_url":"https://github.com/kyuupichan","followers_url":"https://api.github.com/users/kyuupichan/followers","following_url":"https://api.github.com/users/kyuupichan/following{/other_user}","gists_url":"https://api.github.com/users/kyuupichan/gists{/gist_id}","starred_url":"https://api.github.com/users/kyuupichan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kyuupichan/subscriptions","organizations_url":"https://api.github.com/users/kyuupichan/orgs","repos_url":"https://api.github.com/users/kyuupichan/repos","events_url":"https://api.github.com/users/kyuupichan/events{/privacy}","received_events_url":"https://api.github.com/users/kyuupichan/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/kyuupichan/electrumx","description":"Alternative implementation of spesmilo/electrum-server","fork":false,"url":"https://api.github.com/repos/kyuupichan/electrumx","forks_url":"https://api.github.com/repos/kyuupichan/electrumx/forks","keys_url":"https://api.github.com/repos/kyuupichan/electrumx/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kyuupichan/electrumx/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kyuupichan/electrumx/teams","hooks_url":"https://api.github.com/repos/kyuupichan/electrumx/hooks","issue_events_url":"https://api.github.com/repos/kyuupichan/electrumx/issues/events{/number}","events_url":"https://api.github.com/repos/kyuupichan/electrumx/events","assignees_url":"https://api.github.com/repos/kyuupichan/electrumx/assignees{/user}","branches_url":"https://api.github.com/repos/kyuupichan/electrumx/branches{/branch}","tags_url":"https://api.github.com/repos/kyuupichan/electrumx/tags","blobs_url":"https://api.github.com/repos/kyuupichan/electrumx/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kyuupichan/electrumx/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kyuupichan/electrumx/git/refs{/sha}","trees_url":"https://api.github.com/repos/kyuupichan/electrumx/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kyuupichan/electrumx/statuses/{sha}","languages_url":"https://api.github.com/repos/kyuupichan/electrumx/languages","stargazers_url":"https://api.github.com/repos/kyuupichan/electrumx/stargazers","contributors_url":"https://api.github.com/repos/kyuupichan/electrumx/contributors","subscribers_url":"https://api.github.com/repos/kyuupichan/electrumx/subscribers","subscription_url":"https://api.github.com/repos/kyuupichan/electrumx/subscription","commits_url":"https://api.github.com/repos/kyuupichan/electrumx/commits{/sha}","git_commits_url":"https://api.github.com/repos/kyuupichan/electrumx/git/commits{/sha}","comments_url":"https://api.github.com/repos/kyuupichan/electrumx/comments{/number}","issue_comment_url":"https://api.github.com/repos/kyuupichan/electrumx/issues/comments{/number}","contents_url":"https://api.github.com/repos/kyuupichan/electrumx/contents/{+path}","compare_url":"https://api.github.com/repos/kyuupichan/electrumx/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kyuupichan/electrumx/merges","archive_url":"https://api.github.com/repos/kyuupichan/electrumx/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kyuupichan/electrumx/downloads","issues_url":"https://api.github.com/repos/kyuupichan/electrumx/issues{/number}","pulls_url":"https://api.github.com/repos/kyuupichan/electrumx/pulls{/number}","milestones_url":"https://api.github.com/repos/kyuupichan/electrumx/milestones{/number}","notifications_url":"https://api.github.com/repos/kyuupichan/electrumx/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kyuupichan/electrumx/labels{/name}","releases_url":"https://api.github.com/repos/kyuupichan/electrumx/releases{/id}","deployments_url":"https://api.github.com/repos/kyuupichan/electrumx/deployments","created_at":"2016-10-08T08:00:49Z","updated_at":"2018-07-10T06:17:52Z","pushed_at":"2018-07-10T20:11:57Z","git_url":"git://github.com/kyuupichan/electrumx.git","ssh_url":"git@github.com:kyuupichan/electrumx.git","clone_url":"https://github.com/kyuupichan/electrumx.git","svn_url":"https://github.com/kyuupichan/electrumx","homepage":null,"size":2000,"stargazers_count":348,"watchers_count":348,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":363,"mirror_url":null,"archived":false,"open_issues_count":18,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":363,"open_issues":18,"watchers":348,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kyuupichan/electrumx/pulls/513"},"html":{"href":"https://github.com/kyuupichan/electrumx/pull/513"},"issue":{"href":"https://api.github.com/repos/kyuupichan/electrumx/issues/513"},"comments":{"href":"https://api.github.com/repos/kyuupichan/electrumx/issues/513/comments"},"review_comments":{"href":"https://api.github.com/repos/kyuupichan/electrumx/pulls/513/comments"},"review_comment":{"href":"https://api.github.com/repos/kyuupichan/electrumx/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kyuupichan/electrumx/pulls/513/commits"},"statuses":{"href":"https://api.github.com/repos/kyuupichan/electrumx/statuses/b10c7e1a3bc4add703989473d76ac24da0eef161"}},"author_association":"CONTRIBUTOR","merged":false,"mergeable":true,"rebaseable":true,"mergeable_state":"clean","merged_by":null,"comments":2,"review_comments":3,"maintainer_can_modify":false,"commits":3,"additions":14,"deletions":4,"changed_files":3}}
{"actor":{"display_login":"eukreign"}}