Content of Notebook

  1. Retrieving data from Github org (ethereum)

  2. Cleaning and formatting data

  3. Plotting charts using Plotly

  4. Putting result into Firebase


1. Retrieving Data

In [1]:
!pip install pandas
!pip install sklearn
!pip install matplotlib
!pip install plotly
Collecting pandas
  Downloading https://files.pythonhosted.org/packages/e1/d8/feeb346d41f181e83fba45224ab14a8d8af019b48af742e047f3845d8cff/pandas-0.23.4-cp36-cp36m-manylinux1_x86_64.whl (8.9MB)
    100% |████████████████████████████████| 8.9MB 409kB/s eta 0:00:01
Requirement already satisfied: python-dateutil>=2.5.0 in /srv/conda/lib/python3.6/site-packages (from pandas) (2.7.5)
Collecting pytz>=2011k (from pandas)
  Downloading https://files.pythonhosted.org/packages/f8/0e/2365ddc010afb3d79147f1dd544e5ee24bf4ece58ab99b16fbb465ce6dc0/pytz-2018.7-py2.py3-none-any.whl (506kB)
    100% |████████████████████████████████| 512kB 11.7MB/s ta 0:00:01
Collecting numpy>=1.9.0 (from pandas)
  Downloading https://files.pythonhosted.org/packages/ff/7f/9d804d2348471c67a7d8b5f84f9bc59fd1cefa148986f2b74552f8573555/numpy-1.15.4-cp36-cp36m-manylinux1_x86_64.whl (13.9MB)
    100% |████████████████████████████████| 13.9MB 257kB/s eta 0:00:01
Requirement already satisfied: six>=1.5 in /srv/conda/lib/python3.6/site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)
Installing collected packages: pytz, numpy, pandas
Successfully installed numpy-1.15.4 pandas-0.23.4 pytz-2018.7
Collecting sklearn
  Downloading https://files.pythonhosted.org/packages/1e/7a/dbb3be0ce9bd5c8b7e3d87328e79063f8b263b2b1bfa4774cb1147bfcd3f/sklearn-0.0.tar.gz
Collecting scikit-learn (from sklearn)
  Downloading https://files.pythonhosted.org/packages/10/26/d04320c3edf2d59b1fcd0720b46753d4d603a76e68d8ad10a9b92ab06db2/scikit_learn-0.20.1-cp36-cp36m-manylinux1_x86_64.whl (5.4MB)
    100% |████████████████████████████████| 5.4MB 517kB/s eta 0:00:01
Requirement already satisfied: numpy>=1.8.2 in /srv/conda/lib/python3.6/site-packages (from scikit-learn->sklearn) (1.15.4)
Collecting scipy>=0.13.3 (from scikit-learn->sklearn)
  Downloading https://files.pythonhosted.org/packages/a8/0b/f163da98d3a01b3e0ef1cab8dd2123c34aee2bafbb1c5bffa354cc8a1730/scipy-1.1.0-cp36-cp36m-manylinux1_x86_64.whl (31.2MB)
    100% |████████████████████████████████| 31.2MB 95kB/s  eta 0:00:01████████████████████▏  | 28.3MB 19.2MB/s eta 0:00:01
Building wheels for collected packages: sklearn
  Running setup.py bdist_wheel for sklearn ... done
  Stored in directory: /home/jovyan/.cache/pip/wheels/76/03/bb/589d421d27431bcd2c6da284d5f2286c8e3b2ea3cf1594c074
Successfully built sklearn
Installing collected packages: scipy, scikit-learn, sklearn
Successfully installed scikit-learn-0.20.1 scipy-1.1.0 sklearn-0.0
Collecting matplotlib
  Downloading https://files.pythonhosted.org/packages/71/07/16d781df15be30df4acfd536c479268f1208b2dfbc91e9ca5d92c9caf673/matplotlib-3.0.2-cp36-cp36m-manylinux1_x86_64.whl (12.9MB)
    100% |████████████████████████████████| 12.9MB 270kB/s ta 0:00:011
Collecting pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 (from matplotlib)
  Downloading https://files.pythonhosted.org/packages/71/e8/6777f6624681c8b9701a8a0a5654f3eb56919a01a78e12bf3c73f5a3c714/pyparsing-2.3.0-py2.py3-none-any.whl (59kB)
    100% |████████████████████████████████| 61kB 5.4MB/s eta 0:00:01
Collecting cycler>=0.10 (from matplotlib)
  Downloading https://files.pythonhosted.org/packages/f7/d2/e07d3ebb2bd7af696440ce7e754c59dd546ffe1bbe732c8ab68b9c834e61/cycler-0.10.0-py2.py3-none-any.whl
Collecting kiwisolver>=1.0.1 (from matplotlib)
  Downloading https://files.pythonhosted.org/packages/69/a7/88719d132b18300b4369fbffa741841cfd36d1e637e1990f27929945b538/kiwisolver-1.0.1-cp36-cp36m-manylinux1_x86_64.whl (949kB)
    100% |████████████████████████████████| 952kB 3.1MB/s eta 0:00:01
Requirement already satisfied: numpy>=1.10.0 in /srv/conda/lib/python3.6/site-packages (from matplotlib) (1.15.4)
Requirement already satisfied: python-dateutil>=2.1 in /srv/conda/lib/python3.6/site-packages (from matplotlib) (2.7.5)
Requirement already satisfied: six in /srv/conda/lib/python3.6/site-packages (from cycler>=0.10->matplotlib) (1.12.0)
Requirement already satisfied: setuptools in /srv/conda/lib/python3.6/site-packages (from kiwisolver>=1.0.1->matplotlib) (40.6.2)
Installing collected packages: pyparsing, cycler, kiwisolver, matplotlib
Successfully installed cycler-0.10.0 kiwisolver-1.0.1 matplotlib-3.0.2 pyparsing-2.3.0
Collecting plotly
  Downloading https://files.pythonhosted.org/packages/32/d6/82333db5a6f56f828d817d49ae6ea153125d70214a189686afe784e159ad/plotly-3.4.2-py2.py3-none-any.whl (37.8MB)
    100% |████████████████████████████████| 37.8MB 108kB/s eta 0:00:01
Requirement already satisfied: decorator>=4.0.6 in /srv/conda/lib/python3.6/site-packages (from plotly) (4.3.0)
Requirement already satisfied: pytz in /srv/conda/lib/python3.6/site-packages (from plotly) (2018.7)
Requirement already satisfied: nbformat>=4.2 in /srv/conda/lib/python3.6/site-packages (from plotly) (4.4.0)
Collecting retrying>=1.3.3 (from plotly)
  Downloading https://files.pythonhosted.org/packages/44/ef/beae4b4ef80902f22e3af073397f079c96969c69b2c7d52a57ea9ae61c9d/retrying-1.3.3.tar.gz
Requirement already satisfied: requests in /srv/conda/lib/python3.6/site-packages (from plotly) (2.21.0)
Requirement already satisfied: six in /srv/conda/lib/python3.6/site-packages (from plotly) (1.12.0)
Requirement already satisfied: ipython_genutils in /srv/conda/lib/python3.6/site-packages (from nbformat>=4.2->plotly) (0.2.0)
Requirement already satisfied: traitlets>=4.1 in /srv/conda/lib/python3.6/site-packages (from nbformat>=4.2->plotly) (4.3.2)
Requirement already satisfied: jsonschema!=2.5.0,>=2.4 in /srv/conda/lib/python3.6/site-packages (from nbformat>=4.2->plotly) (3.0.0a3)
Requirement already satisfied: jupyter_core in /srv/conda/lib/python3.6/site-packages (from nbformat>=4.2->plotly) (4.4.0)
Requirement already satisfied: certifi>=2017.4.17 in /srv/conda/lib/python3.6/site-packages (from requests->plotly) (2018.11.29)
Requirement already satisfied: urllib3<1.25,>=1.21.1 in /srv/conda/lib/python3.6/site-packages (from requests->plotly) (1.24.1)
Requirement already satisfied: idna<2.9,>=2.5 in /srv/conda/lib/python3.6/site-packages (from requests->plotly) (2.8)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /srv/conda/lib/python3.6/site-packages (from requests->plotly) (3.0.4)
Requirement already satisfied: attrs>=17.4.0 in /srv/conda/lib/python3.6/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat>=4.2->plotly) (18.2.0)
Requirement already satisfied: pyrsistent>=0.14.0 in /srv/conda/lib/python3.6/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat>=4.2->plotly) (0.14.7)
Building wheels for collected packages: retrying
  Running setup.py bdist_wheel for retrying ... done
  Stored in directory: /home/jovyan/.cache/pip/wheels/d7/a9/33/acc7b709e2a35caa7d4cae442f6fe6fbf2c43f80823d46460c
Successfully built retrying
Installing collected packages: retrying, plotly
Successfully installed plotly-3.4.2 retrying-1.3.3
In [2]:
# source: https://stackoverflow.com/questions/12965203/how-to-get-json-from-webpage-into-python-script?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa

import urllib.request, json 

# can get data for up to page 10, by changing page=1 to 2 or 3 ...

# with urllib.request.urlopen("https://api.github.com/orgs/ethereum/events?page=1") as url:
#     events = json.loads(url.read().decode())
#     print(events)

    
# Getting data for all events
allevents = []
i = 1
while i<11:
  with urllib.request.urlopen("https://api.github.com/orgs/ethereum/events?page=" + str(i)) as url:
    events = json.loads(url.read().decode())
  allevents = allevents + events
  i+=1
  
print(allevents)
[{'id': '8754525909', 'type': 'PullRequestReviewCommentEvent', 'actor': {'id': 1347491, 'login': 'ekpyron', 'display_login': 'ekpyron', 'gravatar_id': '', 'url': 'https://api.github.com/users/ekpyron', 'avatar_url': 'https://avatars.githubusercontent.com/u/1347491?'}, 'repo': {'id': 40892817, 'name': 'ethereum/solidity', 'url': 'https://api.github.com/repos/ethereum/solidity'}, 'payload': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/ethereum/solidity/pulls/comments/241732132', 'pull_request_review_id': 185079152, 'id': 241732132, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MTczMjEzMg==', 'diff_hunk': '@@ -31,28 +31,27 @@ namespace langutil\n \n struct LineColumn\n {\n-\tint line;\n-\tint column;\n+\tint line {-1};\n+\tint column {-1};\n \n+\tLineColumn() = default;\n \tLineColumn(std::tuple<int, int> const& _t): line{std::get<0>(_t)}, column{std::get<1>(_t)} {}\n-\tLineColumn(int _line, int _column): line{_line}, column{_column} {}\n-\tLineColumn(): line{-1}, column{-1} {}\n };\n \n struct SourceReference\n {\n-\tstd::string message;    ///< A message that relates to this source reference (such as a warning or an error message).\n-\tstd::string sourceName; ///< Underlying source name (for example the filename).\n-\tLineColumn position;    ///< Actual (error) position this source reference is surrounding.\n-\tbool multiline;         ///< Indicates whether the actual SourceReference is truncated to one line.\n-\tstd::string text;       ///< Extracted source code text (potentially truncated if multiline or too long).\n-\tint startColumn;        ///< Highlighting range-start of text field.\n-\tint endColumn;          ///< Highlighting range-end of text field.\n+\tstd::string message {};    ///< A message that relates to this source reference (such as a warning or an error message).', 'path': 'liblangutil/SourceReferenceExtractor.h', 'position': None, 'original_position': 24, 'commit_id': '714cb78794902d611f922aa52241baec2d9e8622', 'original_commit_id': '2b5bc6d892375402fedaa30a53eae992fb7aeceb', 'user': {'login': 'ekpyron', 'id': 1347491, 'node_id': 'MDQ6VXNlcjEzNDc0OTE=', 'avatar_url': 'https://avatars2.githubusercontent.com/u/1347491?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ekpyron', 'html_url': 'https://github.com/ekpyron', 'followers_url': 'https://api.github.com/users/ekpyron/followers', 'following_url': 'https://api.github.com/users/ekpyron/following{/other_user}', 'gists_url': 'https://api.github.com/users/ekpyron/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ekpyron/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ekpyron/subscriptions', 'organizations_url': 'https://api.github.com/users/ekpyron/orgs', 'repos_url': 'https://api.github.com/users/ekpyron/repos', 'events_url': 'https://api.github.com/users/ekpyron/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ekpyron/received_events', 'type': 'User', 'site_admin': False}, 'body': "Or if you don't want the member to be default-constructed of course :-).", 'created_at': '2018-12-14T11:58:58Z', 'updated_at': '2018-12-14T11:58:58Z', 'html_url': 'https://github.com/ethereum/solidity/pull/5635#discussion_r241732132', 'pull_request_url': 'https://api.github.com/repos/ethereum/solidity/pulls/5635', 'author_association': 'CONTRIBUTOR', '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/solidity/pulls/comments/241732132'}, 'html': {'href': 'https://github.com/ethereum/solidity/pull/5635#discussion_r241732132'}, 'pull_request': {'href': 'https://api.github.com/repos/ethereum/solidity/pulls/5635'}}, 'in_reply_to_id': 241059594}, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/solidity/pulls/5635', 'id': 238044883, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM4MDQ0ODgz', 'html_url': 'https://github.com/ethereum/solidity/pull/5635', 'diff_url': 'https://github.com/ethereum/solidity/pull/5635.diff', 'patch_url': 'https://github.com/ethereum/solidity/pull/5635.patch', 'issue_url': 'https://api.github.com/repos/ethereum/solidity/issues/5635', 'number': 5635, 'state': 'open', 'locked': False, 'title': '[RFC] C++ `=default` ctors/dtors and the use of non-static member initializer syntax.', 'user': {'login': 'christianparpart', 'id': 56763, 'node_id': 'MDQ6VXNlcjU2NzYz', 'avatar_url': 'https://avatars1.githubusercontent.com/u/56763?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/christianparpart', 'html_url': 'https://github.com/christianparpart', 'followers_url': 'https://api.github.com/users/christianparpart/followers', 'following_url': 'https://api.github.com/users/christianparpart/following{/other_user}', 'gists_url': 'https://api.github.com/users/christianparpart/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/christianparpart/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/christianparpart/subscriptions', 'organizations_url': 'https://api.github.com/users/christianparpart/orgs', 'repos_url': 'https://api.github.com/users/christianparpart/repos', 'events_url': 'https://api.github.com/users/christianparpart/events{/privacy}', 'received_events_url': 'https://api.github.com/users/christianparpart/received_events', 'type': 'User', 'site_admin': False}, 'body': '', 'created_at': '2018-12-12T13:53:00Z', 'updated_at': '2018-12-14T11:58:58Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '75667d52ed11b5b61047b9d43564f835408d92d3', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/solidity/pulls/5635/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/solidity/pulls/5635/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/solidity/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/solidity/issues/5635/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/solidity/statuses/714cb78794902d611f922aa52241baec2d9e8622', 'head': {'label': 'ethereum:cpp-default-ctors', 'ref': 'cpp-default-ctors', 'sha': '714cb78794902d611f922aa52241baec2d9e8622', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 40892817, 'node_id': 'MDEwOlJlcG9zaXRvcnk0MDg5MjgxNw==', 'name': 'solidity', 'full_name': 'ethereum/solidity', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/solidity', 'description': 'Solidity, the Contract-Oriented Programming Language', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/solidity', 'forks_url': 'https://api.github.com/repos/ethereum/solidity/forks', 'keys_url': 'https://api.github.com/repos/ethereum/solidity/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/solidity/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/solidity/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/solidity/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/solidity/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/solidity/events', 'assignees_url': 'https://api.github.com/repos/ethereum/solidity/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/solidity/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/solidity/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/solidity/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/solidity/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/solidity/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/solidity/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/solidity/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/solidity/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/solidity/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/solidity/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/solidity/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/solidity/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/solidity/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/solidity/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/solidity/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/solidity/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/solidity/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/solidity/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/solidity/merges', 'archive_url': 'https://api.github.com/repos/ethereum/solidity/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/solidity/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/solidity/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/solidity/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/solidity/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/solidity/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/solidity/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/solidity/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/solidity/deployments', 'created_at': '2015-08-17T12:27:26Z', 'updated_at': '2018-12-14T11:05:24Z', 'pushed_at': '2018-12-14T11:22:03Z', 'git_url': 'git://github.com/ethereum/solidity.git', 'ssh_url': '[email protected]:ethereum/solidity.git', 'clone_url': 'https://github.com/ethereum/solidity.git', 'svn_url': 'https://github.com/ethereum/solidity', 'homepage': 'https://solidity.readthedocs.io', 'size': 24942, 'stargazers_count': 6439, 'watchers_count': 6439, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 1736, 'mirror_url': None, 'archived': False, 'open_issues_count': 571, 'license': {'key': 'gpl-3.0', 'name': 'GNU General Public License v3.0', 'spdx_id': 'GPL-3.0', 'url': 'https://api.github.com/licenses/gpl-3.0', 'node_id': 'MDc6TGljZW5zZTk='}, 'forks': 1736, 'open_issues': 571, 'watchers': 6439, 'default_branch': 'develop'}}, 'base': {'label': 'ethereum:develop', 'ref': 'develop', 'sha': '8d3617b7c522d74bcc36a1fbc1eb7c16bf96ad4d', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 40892817, 'node_id': 'MDEwOlJlcG9zaXRvcnk0MDg5MjgxNw==', 'name': 'solidity', 'full_name': 'ethereum/solidity', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/solidity', 'description': 'Solidity, the Contract-Oriented Programming Language', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/solidity', 'forks_url': 'https://api.github.com/repos/ethereum/solidity/forks', 'keys_url': 'https://api.github.com/repos/ethereum/solidity/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/solidity/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/solidity/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/solidity/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/solidity/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/solidity/events', 'assignees_url': 'https://api.github.com/repos/ethereum/solidity/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/solidity/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/solidity/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/solidity/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/solidity/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/solidity/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/solidity/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/solidity/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/solidity/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/solidity/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/solidity/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/solidity/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/solidity/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/solidity/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/solidity/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/solidity/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/solidity/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/solidity/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/solidity/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/solidity/merges', 'archive_url': 'https://api.github.com/repos/ethereum/solidity/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/solidity/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/solidity/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/solidity/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/solidity/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/solidity/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/solidity/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/solidity/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/solidity/deployments', 'created_at': '2015-08-17T12:27:26Z', 'updated_at': '2018-12-14T11:05:24Z', 'pushed_at': '2018-12-14T11:22:03Z', 'git_url': 'git://github.com/ethereum/solidity.git', 'ssh_url': '[email protected]:ethereum/solidity.git', 'clone_url': 'https://github.com/ethereum/solidity.git', 'svn_url': 'https://github.com/ethereum/solidity', 'homepage': 'https://solidity.readthedocs.io', 'size': 24942, 'stargazers_count': 6439, 'watchers_count': 6439, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 1736, 'mirror_url': None, 'archived': False, 'open_issues_count': 571, 'license': {'key': 'gpl-3.0', 'name': 'GNU General Public License v3.0', 'spdx_id': 'GPL-3.0', 'url': 'https://api.github.com/licenses/gpl-3.0', 'node_id': 'MDc6TGljZW5zZTk='}, 'forks': 1736, 'open_issues': 571, 'watchers': 6439, 'default_branch': 'develop'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/solidity/pulls/5635'}, 'html': {'href': 'https://github.com/ethereum/solidity/pull/5635'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/solidity/issues/5635'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/solidity/issues/5635/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/solidity/pulls/5635/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/solidity/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/solidity/pulls/5635/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/solidity/statuses/714cb78794902d611f922aa52241baec2d9e8622'}}, 'author_association': 'CONTRIBUTOR'}}, 'public': True, 'created_at': '2018-12-14T11:58:58Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754519640', 'type': 'PullRequestReviewCommentEvent', 'actor': {'id': 1347491, 'login': 'ekpyron', 'display_login': 'ekpyron', 'gravatar_id': '', 'url': 'https://api.github.com/users/ekpyron', 'avatar_url': 'https://avatars.githubusercontent.com/u/1347491?'}, 'repo': {'id': 40892817, 'name': 'ethereum/solidity', 'url': 'https://api.github.com/repos/ethereum/solidity'}, 'payload': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/ethereum/solidity/pulls/comments/241731810', 'pull_request_review_id': 185078726, 'id': 241731810, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MTczMTgxMA==', 'diff_hunk': '@@ -31,28 +31,27 @@ namespace langutil\n \n struct LineColumn\n {\n-\tint line;\n-\tint column;\n+\tint line {-1};\n+\tint column {-1};\n \n+\tLineColumn() = default;\n \tLineColumn(std::tuple<int, int> const& _t): line{std::get<0>(_t)}, column{std::get<1>(_t)} {}\n-\tLineColumn(int _line, int _column): line{_line}, column{_column} {}\n-\tLineColumn(): line{-1}, column{-1} {}\n };\n \n struct SourceReference\n {\n-\tstd::string message;    ///< A message that relates to this source reference (such as a warning or an error message).\n-\tstd::string sourceName; ///< Underlying source name (for example the filename).\n-\tLineColumn position;    ///< Actual (error) position this source reference is surrounding.\n-\tbool multiline;         ///< Indicates whether the actual SourceReference is truncated to one line.\n-\tstd::string text;       ///< Extracted source code text (potentially truncated if multiline or too long).\n-\tint startColumn;        ///< Highlighting range-start of text field.\n-\tint endColumn;          ///< Highlighting range-end of text field.\n+\tstd::string message {};    ///< A message that relates to this source reference (such as a warning or an error message).', 'path': 'liblangutil/SourceReferenceExtractor.h', 'position': None, 'original_position': 24, 'commit_id': '714cb78794902d611f922aa52241baec2d9e8622', 'original_commit_id': '2b5bc6d892375402fedaa30a53eae992fb7aeceb', 'user': {'login': 'ekpyron', 'id': 1347491, 'node_id': 'MDQ6VXNlcjEzNDc0OTE=', 'avatar_url': 'https://avatars2.githubusercontent.com/u/1347491?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ekpyron', 'html_url': 'https://github.com/ekpyron', 'followers_url': 'https://api.github.com/users/ekpyron/followers', 'following_url': 'https://api.github.com/users/ekpyron/following{/other_user}', 'gists_url': 'https://api.github.com/users/ekpyron/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ekpyron/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ekpyron/subscriptions', 'organizations_url': 'https://api.github.com/users/ekpyron/orgs', 'repos_url': 'https://api.github.com/users/ekpyron/repos', 'events_url': 'https://api.github.com/users/ekpyron/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ekpyron/received_events', 'type': 'User', 'site_admin': False}, 'body': "Are you sure? I'm pretty certain that it'd be *exactly* the same, if you would just use ``std::string message;`` - in both cases it will default construct even without defining a constructor. You only need to member-initialize for PODs or types that are not default-constructible.", 'created_at': '2018-12-14T11:57:37Z', 'updated_at': '2018-12-14T11:57:37Z', 'html_url': 'https://github.com/ethereum/solidity/pull/5635#discussion_r241731810', 'pull_request_url': 'https://api.github.com/repos/ethereum/solidity/pulls/5635', 'author_association': 'CONTRIBUTOR', '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/solidity/pulls/comments/241731810'}, 'html': {'href': 'https://github.com/ethereum/solidity/pull/5635#discussion_r241731810'}, 'pull_request': {'href': 'https://api.github.com/repos/ethereum/solidity/pulls/5635'}}, 'in_reply_to_id': 241059594}, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/solidity/pulls/5635', 'id': 238044883, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM4MDQ0ODgz', 'html_url': 'https://github.com/ethereum/solidity/pull/5635', 'diff_url': 'https://github.com/ethereum/solidity/pull/5635.diff', 'patch_url': 'https://github.com/ethereum/solidity/pull/5635.patch', 'issue_url': 'https://api.github.com/repos/ethereum/solidity/issues/5635', 'number': 5635, 'state': 'open', 'locked': False, 'title': '[RFC] C++ `=default` ctors/dtors and the use of non-static member initializer syntax.', 'user': {'login': 'christianparpart', 'id': 56763, 'node_id': 'MDQ6VXNlcjU2NzYz', 'avatar_url': 'https://avatars1.githubusercontent.com/u/56763?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/christianparpart', 'html_url': 'https://github.com/christianparpart', 'followers_url': 'https://api.github.com/users/christianparpart/followers', 'following_url': 'https://api.github.com/users/christianparpart/following{/other_user}', 'gists_url': 'https://api.github.com/users/christianparpart/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/christianparpart/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/christianparpart/subscriptions', 'organizations_url': 'https://api.github.com/users/christianparpart/orgs', 'repos_url': 'https://api.github.com/users/christianparpart/repos', 'events_url': 'https://api.github.com/users/christianparpart/events{/privacy}', 'received_events_url': 'https://api.github.com/users/christianparpart/received_events', 'type': 'User', 'site_admin': False}, 'body': '', 'created_at': '2018-12-12T13:53:00Z', 'updated_at': '2018-12-14T11:57:37Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '75667d52ed11b5b61047b9d43564f835408d92d3', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/solidity/pulls/5635/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/solidity/pulls/5635/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/solidity/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/solidity/issues/5635/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/solidity/statuses/714cb78794902d611f922aa52241baec2d9e8622', 'head': {'label': 'ethereum:cpp-default-ctors', 'ref': 'cpp-default-ctors', 'sha': '714cb78794902d611f922aa52241baec2d9e8622', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 40892817, 'node_id': 'MDEwOlJlcG9zaXRvcnk0MDg5MjgxNw==', 'name': 'solidity', 'full_name': 'ethereum/solidity', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/solidity', 'description': 'Solidity, the Contract-Oriented Programming Language', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/solidity', 'forks_url': 'https://api.github.com/repos/ethereum/solidity/forks', 'keys_url': 'https://api.github.com/repos/ethereum/solidity/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/solidity/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/solidity/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/solidity/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/solidity/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/solidity/events', 'assignees_url': 'https://api.github.com/repos/ethereum/solidity/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/solidity/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/solidity/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/solidity/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/solidity/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/solidity/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/solidity/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/solidity/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/solidity/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/solidity/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/solidity/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/solidity/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/solidity/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/solidity/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/solidity/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/solidity/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/solidity/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/solidity/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/solidity/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/solidity/merges', 'archive_url': 'https://api.github.com/repos/ethereum/solidity/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/solidity/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/solidity/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/solidity/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/solidity/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/solidity/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/solidity/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/solidity/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/solidity/deployments', 'created_at': '2015-08-17T12:27:26Z', 'updated_at': '2018-12-14T11:05:24Z', 'pushed_at': '2018-12-14T11:22:03Z', 'git_url': 'git://github.com/ethereum/solidity.git', 'ssh_url': '[email protected]:ethereum/solidity.git', 'clone_url': 'https://github.com/ethereum/solidity.git', 'svn_url': 'https://github.com/ethereum/solidity', 'homepage': 'https://solidity.readthedocs.io', 'size': 24942, 'stargazers_count': 6439, 'watchers_count': 6439, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 1736, 'mirror_url': None, 'archived': False, 'open_issues_count': 571, 'license': {'key': 'gpl-3.0', 'name': 'GNU General Public License v3.0', 'spdx_id': 'GPL-3.0', 'url': 'https://api.github.com/licenses/gpl-3.0', 'node_id': 'MDc6TGljZW5zZTk='}, 'forks': 1736, 'open_issues': 571, 'watchers': 6439, 'default_branch': 'develop'}}, 'base': {'label': 'ethereum:develop', 'ref': 'develop', 'sha': '8d3617b7c522d74bcc36a1fbc1eb7c16bf96ad4d', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 40892817, 'node_id': 'MDEwOlJlcG9zaXRvcnk0MDg5MjgxNw==', 'name': 'solidity', 'full_name': 'ethereum/solidity', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/solidity', 'description': 'Solidity, the Contract-Oriented Programming Language', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/solidity', 'forks_url': 'https://api.github.com/repos/ethereum/solidity/forks', 'keys_url': 'https://api.github.com/repos/ethereum/solidity/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/solidity/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/solidity/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/solidity/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/solidity/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/solidity/events', 'assignees_url': 'https://api.github.com/repos/ethereum/solidity/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/solidity/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/solidity/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/solidity/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/solidity/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/solidity/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/solidity/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/solidity/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/solidity/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/solidity/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/solidity/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/solidity/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/solidity/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/solidity/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/solidity/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/solidity/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/solidity/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/solidity/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/solidity/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/solidity/merges', 'archive_url': 'https://api.github.com/repos/ethereum/solidity/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/solidity/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/solidity/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/solidity/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/solidity/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/solidity/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/solidity/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/solidity/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/solidity/deployments', 'created_at': '2015-08-17T12:27:26Z', 'updated_at': '2018-12-14T11:05:24Z', 'pushed_at': '2018-12-14T11:22:03Z', 'git_url': 'git://github.com/ethereum/solidity.git', 'ssh_url': '[email protected]:ethereum/solidity.git', 'clone_url': 'https://github.com/ethereum/solidity.git', 'svn_url': 'https://github.com/ethereum/solidity', 'homepage': 'https://solidity.readthedocs.io', 'size': 24942, 'stargazers_count': 6439, 'watchers_count': 6439, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 1736, 'mirror_url': None, 'archived': False, 'open_issues_count': 571, 'license': {'key': 'gpl-3.0', 'name': 'GNU General Public License v3.0', 'spdx_id': 'GPL-3.0', 'url': 'https://api.github.com/licenses/gpl-3.0', 'node_id': 'MDc6TGljZW5zZTk='}, 'forks': 1736, 'open_issues': 571, 'watchers': 6439, 'default_branch': 'develop'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/solidity/pulls/5635'}, 'html': {'href': 'https://github.com/ethereum/solidity/pull/5635'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/solidity/issues/5635'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/solidity/issues/5635/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/solidity/pulls/5635/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/solidity/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/solidity/pulls/5635/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/solidity/statuses/714cb78794902d611f922aa52241baec2d9e8622'}}, 'author_association': 'CONTRIBUTOR'}}, 'public': True, 'created_at': '2018-12-14T11:57:37Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754506804', 'type': 'IssueCommentEvent', 'actor': {'id': 33515470, 'login': 'FrankSzendzielarz', 'display_login': 'FrankSzendzielarz', 'gravatar_id': '', 'url': 'https://api.github.com/users/FrankSzendzielarz', 'avatar_url': 'https://avatars.githubusercontent.com/u/33515470?'}, 'repo': {'id': 77478378, 'name': 'ethereum/py-evm', 'url': 'https://api.github.com/repos/ethereum/py-evm'}, 'payload': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/ethereum/py-evm/issues/1130', 'repository_url': 'https://api.github.com/repos/ethereum/py-evm', 'labels_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1130/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1130/comments', 'events_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1130/events', 'html_url': 'https://github.com/ethereum/py-evm/issues/1130', 'id': 346400020, 'node_id': 'MDU6SXNzdWUzNDY0MDAwMjA=', 'number': 1130, 'title': 'Hive Integration', 'user': {'login': 'carver', 'id': 205327, 'node_id': 'MDQ6VXNlcjIwNTMyNw==', 'avatar_url': 'https://avatars0.githubusercontent.com/u/205327?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/carver', 'html_url': 'https://github.com/carver', 'followers_url': 'https://api.github.com/users/carver/followers', 'following_url': 'https://api.github.com/users/carver/following{/other_user}', 'gists_url': 'https://api.github.com/users/carver/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/carver/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/carver/subscriptions', 'organizations_url': 'https://api.github.com/users/carver/orgs', 'repos_url': 'https://api.github.com/users/carver/repos', 'events_url': 'https://api.github.com/users/carver/events{/privacy}', 'received_events_url': 'https://api.github.com/users/carver/received_events', 'type': 'User', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 37, 'created_at': '2018-07-31T23:58:01Z', 'updated_at': '2018-12-14T11:54:59Z', 'closed_at': None, 'author_association': 'CONTRIBUTOR', 'body': "### What is wrong?\r\n\r\nTrinity is not included on hive tests: http://hivetests.ethstats.net/\r\n\r\n### How can it be fixed\r\n\r\nInformation on where to get started:\r\n\r\n- See https://github.com/karalabe/hive/blob/master/README.md\r\n- Here's the old pyethereum integration: https://github.com/karalabe/hive/tree/master/clients/pyethereum:develop\r\n- Here's how geth integration looks: https://github.com/karalabe/hive/tree/master/clients/go-ethereum:master\r\n\r\nOne dockerfile, and one shellscript to init, load blocks, and start rpc services.\r\nThe shellscript translates env vars into client-specific configuration\r\n\r\n(Info courtesy of @holiman and of course, karalabe)"}, 'comment': {'url': 'https://api.github.com/repos/ethereum/py-evm/issues/comments/447303495', 'html_url': 'https://github.com/ethereum/py-evm/issues/1130#issuecomment-447303495', 'issue_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1130', 'id': 447303495, 'node_id': 'MDEyOklzc3VlQ29tbWVudDQ0NzMwMzQ5NQ==', 'user': {'login': 'FrankSzendzielarz', 'id': 33515470, 'node_id': 'MDQ6VXNlcjMzNTE1NDcw', 'avatar_url': 'https://avatars1.githubusercontent.com/u/33515470?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/FrankSzendzielarz', 'html_url': 'https://github.com/FrankSzendzielarz', 'followers_url': 'https://api.github.com/users/FrankSzendzielarz/followers', 'following_url': 'https://api.github.com/users/FrankSzendzielarz/following{/other_user}', 'gists_url': 'https://api.github.com/users/FrankSzendzielarz/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/FrankSzendzielarz/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/FrankSzendzielarz/subscriptions', 'organizations_url': 'https://api.github.com/users/FrankSzendzielarz/orgs', 'repos_url': 'https://api.github.com/users/FrankSzendzielarz/repos', 'events_url': 'https://api.github.com/users/FrankSzendzielarz/events{/privacy}', 'received_events_url': 'https://api.github.com/users/FrankSzendzielarz/received_events', 'type': 'User', 'site_admin': False}, 'created_at': '2018-12-14T11:54:59Z', 'updated_at': '2018-12-14T11:54:59Z', 'author_association': 'NONE', 'body': "Re: Hive pls note that the fszendzielarz/hive fork is now defunct and the trinity stuff I added is in the Ethereum/hive repo. I haven't looked at it since the last time I hit a wall with getting the enode, so I think there's still open work in supplying the trinity clients with blockchains to datadir before the containers can be used in consensus tests. \r\n"}}, 'public': True, 'created_at': '2018-12-14T11:54:59Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754492255', 'type': 'IssueCommentEvent', 'actor': {'id': 9753150, 'login': 'njgheorghita', 'display_login': 'njgheorghita', 'gravatar_id': '', 'url': 'https://api.github.com/users/njgheorghita', 'avatar_url': 'https://avatars.githubusercontent.com/u/9753150?'}, 'repo': {'id': 147740703, 'name': 'ethereum/twig', 'url': 'https://api.github.com/repos/ethereum/twig'}, 'payload': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/ethereum/twig/issues/11', 'repository_url': 'https://api.github.com/repos/ethereum/twig', 'labels_url': 'https://api.github.com/repos/ethereum/twig/issues/11/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/twig/issues/11/comments', 'events_url': 'https://api.github.com/repos/ethereum/twig/issues/11/events', 'html_url': 'https://github.com/ethereum/twig/pull/11', 'id': 386796799, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM1NDMwNDY4', 'number': 11, 'title': 'Update compiler to include runtime bytecode & `Compiler.get_simple_manifest()`', 'user': {'login': 'njgheorghita', 'id': 9753150, 'node_id': 'MDQ6VXNlcjk3NTMxNTA=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/9753150?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/njgheorghita', 'html_url': 'https://github.com/njgheorghita', 'followers_url': 'https://api.github.com/users/njgheorghita/followers', 'following_url': 'https://api.github.com/users/njgheorghita/following{/other_user}', 'gists_url': 'https://api.github.com/users/njgheorghita/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/njgheorghita/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/njgheorghita/subscriptions', 'organizations_url': 'https://api.github.com/users/njgheorghita/orgs', 'repos_url': 'https://api.github.com/users/njgheorghita/repos', 'events_url': 'https://api.github.com/users/njgheorghita/events{/privacy}', 'received_events_url': 'https://api.github.com/users/njgheorghita/received_events', 'type': 'User', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2018-12-03T12:30:52Z', 'updated_at': '2018-12-14T11:52:02Z', 'closed_at': None, 'author_association': 'COLLABORATOR', 'pull_request': {'url': 'https://api.github.com/repos/ethereum/twig/pulls/11', 'html_url': 'https://github.com/ethereum/twig/pull/11', 'diff_url': 'https://github.com/ethereum/twig/pull/11.diff', 'patch_url': 'https://github.com/ethereum/twig/pull/11.patch'}, 'body': "## What was wrong?\r\nAuto-generated vyper compiler output wasn't including the `runtime_bytecode`, which is fairly useful in certain situations - ex. verification of on-chain code\r\n\r\nWrote a `Compiler` method that will generate a quick-n-dirty manifest for the `Compiler` contracts\r\n\r\n#### Cute Animal Picture\r\n![image](https://user-images.githubusercontent.com/9753150/49373799-9ca5b900-f6ff-11e8-9e06-de297dd33e02.png)\r\n"}, 'comment': {'url': 'https://api.github.com/repos/ethereum/twig/issues/comments/447302862', 'html_url': 'https://github.com/ethereum/twig/pull/11#issuecomment-447302862', 'issue_url': 'https://api.github.com/repos/ethereum/twig/issues/11', 'id': 447302862, 'node_id': 'MDEyOklzc3VlQ29tbWVudDQ0NzMwMjg2Mg==', 'user': {'login': 'njgheorghita', 'id': 9753150, 'node_id': 'MDQ6VXNlcjk3NTMxNTA=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/9753150?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/njgheorghita', 'html_url': 'https://github.com/njgheorghita', 'followers_url': 'https://api.github.com/users/njgheorghita/followers', 'following_url': 'https://api.github.com/users/njgheorghita/following{/other_user}', 'gists_url': 'https://api.github.com/users/njgheorghita/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/njgheorghita/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/njgheorghita/subscriptions', 'organizations_url': 'https://api.github.com/users/njgheorghita/orgs', 'repos_url': 'https://api.github.com/users/njgheorghita/repos', 'events_url': 'https://api.github.com/users/njgheorghita/events{/privacy}', 'received_events_url': 'https://api.github.com/users/njgheorghita/received_events', 'type': 'User', 'site_admin': False}, 'created_at': '2018-12-14T11:52:02Z', 'updated_at': '2018-12-14T11:52:02Z', 'author_association': 'COLLABORATOR', 'body': '@pipermerriam ping in case this got buried'}}, 'public': True, 'created_at': '2018-12-14T11:52:02Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754489462', 'type': 'PushEvent', 'actor': {'id': 9073706, 'login': 'chriseth', 'display_login': 'chriseth', 'gravatar_id': '', 'url': 'https://api.github.com/users/chriseth', 'avatar_url': 'https://avatars.githubusercontent.com/u/9073706?'}, 'repo': {'id': 85063629, 'name': 'ethereum/solidity-test-bytecode', 'url': 'https://api.github.com/repos/ethereum/solidity-test-bytecode'}, 'payload': {'push_id': 3137663541, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/master', 'head': '1ba0f06d51827f89b08a5c026007bd4607de9f22', 'before': 'ab95f802dc710025784de90de19caf86edc7f6f9', 'commits': [{'sha': '1ba0f06d51827f89b08a5c026007bd4607de9f22', 'author': {'email': '[email protected]', 'name': 'travis'}, 'message': 'Added report.', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/solidity-test-bytecode/commits/1ba0f06d51827f89b08a5c026007bd4607de9f22'}]}, 'public': True, 'created_at': '2018-12-14T11:51:28Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754489149', 'type': 'IssueCommentEvent', 'actor': {'id': 9753150, 'login': 'njgheorghita', 'display_login': 'njgheorghita', 'gravatar_id': '', 'url': 'https://api.github.com/users/njgheorghita', 'avatar_url': 'https://avatars.githubusercontent.com/u/9753150?'}, 'repo': {'id': 147572521, 'name': 'ethereum/pytest-ethereum', 'url': 'https://api.github.com/repos/ethereum/pytest-ethereum'}, 'payload': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/ethereum/pytest-ethereum/issues/32', 'repository_url': 'https://api.github.com/repos/ethereum/pytest-ethereum', 'labels_url': 'https://api.github.com/repos/ethereum/pytest-ethereum/issues/32/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/pytest-ethereum/issues/32/comments', 'events_url': 'https://api.github.com/repos/ethereum/pytest-ethereum/issues/32/events', 'html_url': 'https://github.com/ethereum/pytest-ethereum/issues/32', 'id': 390659988, 'node_id': 'MDU6SXNzdWUzOTA2NTk5ODg=', 'number': 32, 'title': 'Simplified "happy path" API', 'user': {'login': 'njgheorghita', 'id': 9753150, 'node_id': 'MDQ6VXNlcjk3NTMxNTA=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/9753150?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/njgheorghita', 'html_url': 'https://github.com/njgheorghita', 'followers_url': 'https://api.github.com/users/njgheorghita/followers', 'following_url': 'https://api.github.com/users/njgheorghita/following{/other_user}', 'gists_url': 'https://api.github.com/users/njgheorghita/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/njgheorghita/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/njgheorghita/subscriptions', 'organizations_url': 'https://api.github.com/users/njgheorghita/orgs', 'repos_url': 'https://api.github.com/users/njgheorghita/repos', 'events_url': 'https://api.github.com/users/njgheorghita/events{/privacy}', 'received_events_url': 'https://api.github.com/users/njgheorghita/received_events', 'type': 'User', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2018-12-13T12:37:12Z', 'updated_at': '2018-12-14T11:51:24Z', 'closed_at': None, 'author_association': 'COLLABORATOR', 'body': '# Feature Request\r\n\r\n## What was wrong?\r\nFrom #25 . . . \r\[email protected] @pipermerriam \r\n\r\n> A simplified "happy path" API that simply assumes that everything will go well, and raises an exception when it doesn\'t. eg~ prefer something like receipt = ethtest.mine_txn(txn) over txn_hash = w3.eth.sendTransaction(txn); receipt = w3.eth.waitForTransactionReceipt(txn_hash).\r\n\r\n## How can it be fixed?\r\nSuggestion - A simple wrapper function that takes a built transaction, sends it on a given `w3` instance, and returns the transaction receipt. Raises a `TransactionError` if tx fails.\r\n```python\r\nimport pytest_ethereum as pte\r\nreceipt = pte.mine_txn(built_transaction, w3)\r\n```\r\n'}, 'comment': {'url': 'https://api.github.com/repos/ethereum/pytest-ethereum/issues/comments/447302740', 'html_url': 'https://github.com/ethereum/pytest-ethereum/issues/32#issuecomment-447302740', 'issue_url': 'https://api.github.com/repos/ethereum/pytest-ethereum/issues/32', 'id': 447302740, 'node_id': 'MDEyOklzc3VlQ29tbWVudDQ0NzMwMjc0MA==', 'user': {'login': 'njgheorghita', 'id': 9753150, 'node_id': 'MDQ6VXNlcjk3NTMxNTA=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/9753150?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/njgheorghita', 'html_url': 'https://github.com/njgheorghita', 'followers_url': 'https://api.github.com/users/njgheorghita/followers', 'following_url': 'https://api.github.com/users/njgheorghita/following{/other_user}', 'gists_url': 'https://api.github.com/users/njgheorghita/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/njgheorghita/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/njgheorghita/subscriptions', 'organizations_url': 'https://api.github.com/users/njgheorghita/orgs', 'repos_url': 'https://api.github.com/users/njgheorghita/repos', 'events_url': 'https://api.github.com/users/njgheorghita/events{/privacy}', 'received_events_url': 'https://api.github.com/users/njgheorghita/received_events', 'type': 'User', 'site_admin': False}, 'created_at': '2018-12-14T11:51:24Z', 'updated_at': '2018-12-14T11:51:24Z', 'author_association': 'COLLABORATOR', 'body': "If y'all are up for it, it'd be helpful to schedule a short call and discuss/whiteboard the general api we're aiming for, and the lines between `pte`/`web3`. (though, with xmas break coming up soon, i'm also down to punt till early january when i'm fresh and less likely to forget everything we talk about/decide on over break)"}}, 'public': True, 'created_at': '2018-12-14T11:51:24Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754482454', 'type': 'PushEvent', 'actor': {'id': 3391420, 'login': 'ChihChengLiang', 'display_login': 'ChihChengLiang', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChihChengLiang', 'avatar_url': 'https://avatars.githubusercontent.com/u/3391420?'}, 'repo': {'id': 77478378, 'name': 'ethereum/py-evm', 'url': 'https://api.github.com/repos/ethereum/py-evm'}, 'payload': {'push_id': 3137659614, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/master', 'head': '071aa2a4c4ddb2cb1882f5554dddd613a4429a09', 'before': '0b0b6ecf5b8700c33d4fb9603a3ec4a8d1cad771', 'commits': [{'sha': '071aa2a4c4ddb2cb1882f5554dddd613a4429a09', 'author': {'email': '[email protected]', 'name': 'Chih Cheng Liang'}, 'message': 'Fix #1582, Special -> operations and rework beacon block (#1585)\n\n* delete special_records and add casper_slashings\r\n\r\n* add a crappy Deposit\r\n\r\n* fix attestation block exit proposer_slashings and add tests\r\n\r\n* fix linting error by removing unused block_proposal.py\r\n\r\n* split deposits, deposit_data, deposit_parameters, casper_slashings, and slashable_vote_data out\r\n\r\n* fix validator_index in Exit\r\n\r\n* replace ancestor_hashes and parent_hash with parent_root, reorder BeaconBlockBody attestation field, and fix comments\r\n\r\n* use tuple as default parameter\r\n\r\n* remove kwargs for performance\r\n\r\n* make flake8 happy\r\n\r\n* more ancestor_hashes to parent_root, and rework get_pseudo_chain\r\n\r\n* update casper_slashings to reflect ethereum/eth2.0-specs/pull/301\r\n\r\n* refactor get_pseudo_chain to yield\r\n\r\n* flake8\r\n\r\n* fix create_test_block\r\n\r\n* fix child.parent_root', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/py-evm/commits/071aa2a4c4ddb2cb1882f5554dddd613a4429a09'}]}, 'public': True, 'created_at': '2018-12-14T11:50:01Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754482217', 'type': 'PullRequestEvent', 'actor': {'id': 3391420, 'login': 'ChihChengLiang', 'display_login': 'ChihChengLiang', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChihChengLiang', 'avatar_url': 'https://avatars.githubusercontent.com/u/3391420?'}, 'repo': {'id': 77478378, 'name': 'ethereum/py-evm', 'url': 'https://api.github.com/repos/ethereum/py-evm'}, 'payload': {'action': 'closed', 'number': 1585, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1585', 'id': 238032827, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM4MDMyODI3', 'html_url': 'https://github.com/ethereum/py-evm/pull/1585', 'diff_url': 'https://github.com/ethereum/py-evm/pull/1585.diff', 'patch_url': 'https://github.com/ethereum/py-evm/pull/1585.patch', 'issue_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1585', 'number': 1585, 'state': 'closed', 'locked': False, 'title': 'Fix #1582, Special -> operations and rework beacon block', 'user': {'login': 'ChihChengLiang', 'id': 3391420, 'node_id': 'MDQ6VXNlcjMzOTE0MjA=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/3391420?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChihChengLiang', 'html_url': 'https://github.com/ChihChengLiang', 'followers_url': 'https://api.github.com/users/ChihChengLiang/followers', 'following_url': 'https://api.github.com/users/ChihChengLiang/following{/other_user}', 'gists_url': 'https://api.github.com/users/ChihChengLiang/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ChihChengLiang/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ChihChengLiang/subscriptions', 'organizations_url': 'https://api.github.com/users/ChihChengLiang/orgs', 'repos_url': 'https://api.github.com/users/ChihChengLiang/repos', 'events_url': 'https://api.github.com/users/ChihChengLiang/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ChihChengLiang/received_events', 'type': 'User', 'site_admin': False}, 'body': '### What was wrong?\r\n\r\nFix #1582\r\n\r\n### How was it fixed?\r\n\r\n1. Add the new data structures:\r\n  - `CasperSlashing`\r\n  - `SlashableVoteData`\r\n  - `Deposit`\r\n  - Change `DepositParametersRecord` -> `DepositParameters` \r\n  - `Exit`\r\n2. Implement `BeaconBlockBody`\r\n3. Update `BeaconBlock`: replace specials with `BeaconBlockBody`\r\n\r\nAlso, additional fixes in this PR but not mentioned in the issue:\r\n\r\n- Rename the `AttestationRecord ` to `Attestation`\r\n- Introduce `DepositData` that is not in the spec. But it is a nested field in `Deposit`.\r\n\r\n#### Cute Animal Picture\r\n\r\n![put a cute animal picture link inside the parentheses](https://img-9gag-fun.9cache.com/photo/aXxQ4LV_700bwp.webp)\r\n', 'created_at': '2018-12-12T13:14:20Z', 'updated_at': '2018-12-14T11:49:58Z', 'closed_at': '2018-12-14T11:49:58Z', 'merged_at': '2018-12-14T11:49:58Z', 'merge_commit_sha': '071aa2a4c4ddb2cb1882f5554dddd613a4429a09', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1585/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1585/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1585/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/py-evm/statuses/c9fca7e5e953976a02d0160dddb92514128b9985', 'head': {'label': 'ChihChengLiang:special->operations-and-rework-beacon-block', 'ref': 'special->operations-and-rework-beacon-block', 'sha': 'c9fca7e5e953976a02d0160dddb92514128b9985', 'user': {'login': 'ChihChengLiang', 'id': 3391420, 'node_id': 'MDQ6VXNlcjMzOTE0MjA=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/3391420?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChihChengLiang', 'html_url': 'https://github.com/ChihChengLiang', 'followers_url': 'https://api.github.com/users/ChihChengLiang/followers', 'following_url': 'https://api.github.com/users/ChihChengLiang/following{/other_user}', 'gists_url': 'https://api.github.com/users/ChihChengLiang/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ChihChengLiang/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ChihChengLiang/subscriptions', 'organizations_url': 'https://api.github.com/users/ChihChengLiang/orgs', 'repos_url': 'https://api.github.com/users/ChihChengLiang/repos', 'events_url': 'https://api.github.com/users/ChihChengLiang/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ChihChengLiang/received_events', 'type': 'User', 'site_admin': False}, 'repo': {'id': 112069563, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTIwNjk1NjM=', 'name': 'py-evm', 'full_name': 'ChihChengLiang/py-evm', 'private': False, 'owner': {'login': 'ChihChengLiang', 'id': 3391420, 'node_id': 'MDQ6VXNlcjMzOTE0MjA=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/3391420?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChihChengLiang', 'html_url': 'https://github.com/ChihChengLiang', 'followers_url': 'https://api.github.com/users/ChihChengLiang/followers', 'following_url': 'https://api.github.com/users/ChihChengLiang/following{/other_user}', 'gists_url': 'https://api.github.com/users/ChihChengLiang/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ChihChengLiang/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ChihChengLiang/subscriptions', 'organizations_url': 'https://api.github.com/users/ChihChengLiang/orgs', 'repos_url': 'https://api.github.com/users/ChihChengLiang/repos', 'events_url': 'https://api.github.com/users/ChihChengLiang/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ChihChengLiang/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/ChihChengLiang/py-evm', 'description': 'A Python implementation of the Ethereum Virtual Machine', 'fork': True, 'url': 'https://api.github.com/repos/ChihChengLiang/py-evm', 'forks_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/forks', 'keys_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/teams', 'hooks_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/hooks', 'issue_events_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/events', 'assignees_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/tags', 'blobs_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/languages', 'stargazers_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/stargazers', 'contributors_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/contributors', 'subscribers_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/subscribers', 'subscription_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/subscription', 'commits_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/merges', 'archive_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/downloads', 'issues_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/labels{/name}', 'releases_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ChihChengLiang/py-evm/deployments', 'created_at': '2017-11-26T09:10:42Z', 'updated_at': '2017-11-26T09:10:44Z', 'pushed_at': '2018-12-14T11:39:29Z', 'git_url': 'git://github.com/ChihChengLiang/py-evm.git', 'ssh_url': '[email protected]:ChihChengLiang/py-evm.git', 'clone_url': 'https://github.com/ChihChengLiang/py-evm.git', 'svn_url': 'https://github.com/ChihChengLiang/py-evm', 'homepage': '', 'size': 6464, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'Python', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, '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': 'casper'}}, 'base': {'label': 'ethereum:master', 'ref': 'master', 'sha': '0b0b6ecf5b8700c33d4fb9603a3ec4a8d1cad771', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 77478378, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NzQ3ODM3OA==', 'name': 'py-evm', 'full_name': 'ethereum/py-evm', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/py-evm', 'description': 'A Python implementation of the Ethereum Virtual Machine', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/py-evm', 'forks_url': 'https://api.github.com/repos/ethereum/py-evm/forks', 'keys_url': 'https://api.github.com/repos/ethereum/py-evm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/py-evm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/py-evm/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/py-evm/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/py-evm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/py-evm/events', 'assignees_url': 'https://api.github.com/repos/ethereum/py-evm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/py-evm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/py-evm/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/py-evm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/py-evm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/py-evm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/py-evm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/py-evm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/py-evm/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/py-evm/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/py-evm/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/py-evm/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/py-evm/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/py-evm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/py-evm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/py-evm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/py-evm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/py-evm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/py-evm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/py-evm/merges', 'archive_url': 'https://api.github.com/repos/ethereum/py-evm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/py-evm/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/py-evm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/py-evm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/py-evm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/py-evm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/py-evm/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/py-evm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/py-evm/deployments', 'created_at': '2016-12-27T19:36:00Z', 'updated_at': '2018-12-14T11:29:04Z', 'pushed_at': '2018-12-14T11:49:58Z', 'git_url': 'git://github.com/ethereum/py-evm.git', 'ssh_url': '[email protected]:ethereum/py-evm.git', 'clone_url': 'https://github.com/ethereum/py-evm.git', 'svn_url': 'https://github.com/ethereum/py-evm', 'homepage': 'https://trinity.ethereum.org/', 'size': 6616, 'stargazers_count': 753, 'watchers_count': 753, 'language': 'Python', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 336, 'mirror_url': None, 'archived': False, 'open_issues_count': 161, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'forks': 336, 'open_issues': 161, 'watchers': 753, 'default_branch': 'master'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1585'}, 'html': {'href': 'https://github.com/ethereum/py-evm/pull/1585'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/py-evm/issues/1585'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/py-evm/issues/1585/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1585/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1585/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/py-evm/statuses/c9fca7e5e953976a02d0160dddb92514128b9985'}}, 'author_association': 'CONTRIBUTOR', 'merged': True, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': {'login': 'ChihChengLiang', 'id': 3391420, 'node_id': 'MDQ6VXNlcjMzOTE0MjA=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/3391420?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChihChengLiang', 'html_url': 'https://github.com/ChihChengLiang', 'followers_url': 'https://api.github.com/users/ChihChengLiang/followers', 'following_url': 'https://api.github.com/users/ChihChengLiang/following{/other_user}', 'gists_url': 'https://api.github.com/users/ChihChengLiang/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ChihChengLiang/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ChihChengLiang/subscriptions', 'organizations_url': 'https://api.github.com/users/ChihChengLiang/orgs', 'repos_url': 'https://api.github.com/users/ChihChengLiang/repos', 'events_url': 'https://api.github.com/users/ChihChengLiang/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ChihChengLiang/received_events', 'type': 'User', 'site_admin': False}, 'comments': 1, 'review_comments': 13, 'maintainer_can_modify': False, 'commits': 16, 'additions': 528, 'deletions': 263, 'changed_files': 33}}, 'public': True, 'created_at': '2018-12-14T11:49:58Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754482205', 'type': 'IssuesEvent', 'actor': {'id': 3391420, 'login': 'ChihChengLiang', 'display_login': 'ChihChengLiang', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChihChengLiang', 'avatar_url': 'https://avatars.githubusercontent.com/u/3391420?'}, 'repo': {'id': 77478378, 'name': 'ethereum/py-evm', 'url': 'https://api.github.com/repos/ethereum/py-evm'}, 'payload': {'action': 'closed', 'issue': {'url': 'https://api.github.com/repos/ethereum/py-evm/issues/1582', 'repository_url': 'https://api.github.com/repos/ethereum/py-evm', 'labels_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1582/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1582/comments', 'events_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1582/events', 'html_url': 'https://github.com/ethereum/py-evm/issues/1582', 'id': 390086032, 'node_id': 'MDU6SXNzdWUzOTAwODYwMzI=', 'number': 1582, 'title': 'Specials -> Operations and rework `BeaconBlock`', 'user': {'login': 'hwwhww', 'id': 9263930, 'node_id': 'MDQ6VXNlcjkyNjM5MzA=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/9263930?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/hwwhww', 'html_url': 'https://github.com/hwwhww', 'followers_url': 'https://api.github.com/users/hwwhww/followers', 'following_url': 'https://api.github.com/users/hwwhww/following{/other_user}', 'gists_url': 'https://api.github.com/users/hwwhww/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/hwwhww/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/hwwhww/subscriptions', 'organizations_url': 'https://api.github.com/users/hwwhww/orgs', 'repos_url': 'https://api.github.com/users/hwwhww/repos', 'events_url': 'https://api.github.com/users/hwwhww/events{/privacy}', 'received_events_url': 'https://api.github.com/users/hwwhww/received_events', 'type': 'User', 'site_admin': False}, 'labels': [{'id': 769749869, 'node_id': 'MDU6TGFiZWw3Njk3NDk4Njk=', 'url': 'https://api.github.com/repos/ethereum/py-evm/labels/eth2.0', 'name': 'eth2.0', 'color': 'ff95ca', 'default': False}], 'state': 'closed', 'locked': False, 'assignee': {'login': 'ChihChengLiang', 'id': 3391420, 'node_id': 'MDQ6VXNlcjMzOTE0MjA=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/3391420?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChihChengLiang', 'html_url': 'https://github.com/ChihChengLiang', 'followers_url': 'https://api.github.com/users/ChihChengLiang/followers', 'following_url': 'https://api.github.com/users/ChihChengLiang/following{/other_user}', 'gists_url': 'https://api.github.com/users/ChihChengLiang/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ChihChengLiang/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ChihChengLiang/subscriptions', 'organizations_url': 'https://api.github.com/users/ChihChengLiang/orgs', 'repos_url': 'https://api.github.com/users/ChihChengLiang/repos', 'events_url': 'https://api.github.com/users/ChihChengLiang/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ChihChengLiang/received_events', 'type': 'User', 'site_admin': False}, 'assignees': [{'login': 'ChihChengLiang', 'id': 3391420, 'node_id': 'MDQ6VXNlcjMzOTE0MjA=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/3391420?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChihChengLiang', 'html_url': 'https://github.com/ChihChengLiang', 'followers_url': 'https://api.github.com/users/ChihChengLiang/followers', 'following_url': 'https://api.github.com/users/ChihChengLiang/following{/other_user}', 'gists_url': 'https://api.github.com/users/ChihChengLiang/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ChihChengLiang/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ChihChengLiang/subscriptions', 'organizations_url': 'https://api.github.com/users/ChihChengLiang/orgs', 'repos_url': 'https://api.github.com/users/ChihChengLiang/repos', 'events_url': 'https://api.github.com/users/ChihChengLiang/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ChihChengLiang/received_events', 'type': 'User', 'site_admin': False}], 'milestone': None, 'comments': 0, 'created_at': '2018-12-12T06:42:30Z', 'updated_at': '2018-12-14T11:49:58Z', 'closed_at': '2018-12-14T11:49:58Z', 'author_association': 'CONTRIBUTOR', 'body': "### What is wrong?\r\n`Specials` data (exit messages, slashings, ... ) are replaced with [new operations schema](https://github.com/ethereum/eth2.0-specs/blob/master/specs/core/0_beacon-chain.md#beacon-chain-operations)\r\n\r\n### How can it be fixed\r\n1. Add the new data structures:\r\n    1. `CasperSlashing`\r\n    2. `SlashableVoteData`\r\n    3. `Deposit`\r\n    4. Change `DepositParametersRecord` -> `DepositParameters` (Although I'd like to rename it from the spec soon)\r\n    5. `Exit`\r\n2. Implement `BeaconBlockBody`\r\n3. Update `BeaconBlock`: replace `specials` with `BeaconBlockBody`\r\n\r\nNote that for `BeaconChainDB`, we still just store the whole `BeaconBlock`, at least for now."}}, 'public': True, 'created_at': '2018-12-14T11:49:58Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754476425', 'type': 'PushEvent', 'actor': {'id': 142290, 'login': 'holiman', 'display_login': 'holiman', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'avatar_url': 'https://avatars.githubusercontent.com/u/142290?'}, 'repo': {'id': 62554553, 'name': 'ethereum/hive', 'url': 'https://api.github.com/repos/ethereum/hive'}, 'payload': {'push_id': 3137656341, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/master', 'head': 'db186d35afa12724b2d131c3e31f68361b275b4c', 'before': 'c4e0f6f899286f4e0cef7490a1a4fda6fead5522', 'commits': [{'sha': 'db186d35afa12724b2d131c3e31f68361b275b4c', 'author': {'email': '[email protected]', 'name': 'Frank Szendzielarz'}, 'message': 'Chain tools (#161)\n\n* Chain tools added\r\n\r\n* Include devp2p fix to compensate for modified API\r\n\r\n* Update README.md\r\n\r\nCo-Authored-By: FrankSzendzielarz <[email protected]>', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/hive/commits/db186d35afa12724b2d131c3e31f68361b275b4c'}]}, 'public': True, 'created_at': '2018-12-14T11:48:49Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754476344', 'type': 'PullRequestEvent', 'actor': {'id': 142290, 'login': 'holiman', 'display_login': 'holiman', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'avatar_url': 'https://avatars.githubusercontent.com/u/142290?'}, 'repo': {'id': 62554553, 'name': 'ethereum/hive', 'url': 'https://api.github.com/repos/ethereum/hive'}, 'payload': {'action': 'closed', 'number': 161, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/hive/pulls/161', 'id': 238472860, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM4NDcyODYw', 'html_url': 'https://github.com/ethereum/hive/pull/161', 'diff_url': 'https://github.com/ethereum/hive/pull/161.diff', 'patch_url': 'https://github.com/ethereum/hive/pull/161.patch', 'issue_url': 'https://api.github.com/repos/ethereum/hive/issues/161', 'number': 161, 'state': 'closed', 'locked': False, 'title': 'Chain tools', 'user': {'login': 'FrankSzendzielarz', 'id': 33515470, 'node_id': 'MDQ6VXNlcjMzNTE1NDcw', 'avatar_url': 'https://avatars1.githubusercontent.com/u/33515470?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/FrankSzendzielarz', 'html_url': 'https://github.com/FrankSzendzielarz', 'followers_url': 'https://api.github.com/users/FrankSzendzielarz/followers', 'following_url': 'https://api.github.com/users/FrankSzendzielarz/following{/other_user}', 'gists_url': 'https://api.github.com/users/FrankSzendzielarz/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/FrankSzendzielarz/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/FrankSzendzielarz/subscriptions', 'organizations_url': 'https://api.github.com/users/FrankSzendzielarz/orgs', 'repos_url': 'https://api.github.com/users/FrankSzendzielarz/repos', 'events_url': 'https://api.github.com/users/FrankSzendzielarz/events{/privacy}', 'received_events_url': 'https://api.github.com/users/FrankSzendzielarz/received_events', 'type': 'User', 'site_admin': False}, 'body': 'This PR adds the "chain tools" (chaintools folder) necessary for the sync simulations. It also adds some helpful command line options to Hive to allow testers to generate rlp encoded blockchains for import. More info in the Readme.md.\r\n\r\n\r\nIn future PRs these chaintools may be moved to simulators/common to allow dynamic regeneration of blockchains for sync tests.\r\n', 'created_at': '2018-12-13T17:32:00Z', 'updated_at': '2018-12-14T11:48:47Z', 'closed_at': '2018-12-14T11:48:47Z', 'merged_at': '2018-12-14T11:48:47Z', 'merge_commit_sha': 'db186d35afa12724b2d131c3e31f68361b275b4c', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/hive/pulls/161/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/hive/pulls/161/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/hive/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/hive/issues/161/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/hive/statuses/4d6ac7e8d067b2a5bea6b630fc6a86b427429259', 'head': {'label': 'ethereum:Chaintools', 'ref': 'Chaintools', 'sha': '4d6ac7e8d067b2a5bea6b630fc6a86b427429259', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 62554553, 'node_id': 'MDEwOlJlcG9zaXRvcnk2MjU1NDU1Mw==', 'name': 'hive', 'full_name': 'ethereum/hive', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/hive', 'description': 'Ethereum end-to-end test harness', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/hive', 'forks_url': 'https://api.github.com/repos/ethereum/hive/forks', 'keys_url': 'https://api.github.com/repos/ethereum/hive/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/hive/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/hive/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/hive/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/hive/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/hive/events', 'assignees_url': 'https://api.github.com/repos/ethereum/hive/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/hive/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/hive/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/hive/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/hive/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/hive/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/hive/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/hive/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/hive/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/hive/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/hive/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/hive/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/hive/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/hive/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/hive/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/hive/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/hive/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/hive/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/hive/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/hive/merges', 'archive_url': 'https://api.github.com/repos/ethereum/hive/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/hive/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/hive/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/hive/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/hive/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/hive/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/hive/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/hive/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/hive/deployments', 'created_at': '2016-07-04T10:41:07Z', 'updated_at': '2018-12-14T11:20:54Z', 'pushed_at': '2018-12-14T11:48:47Z', 'git_url': 'git://github.com/ethereum/hive.git', 'ssh_url': '[email protected]:ethereum/hive.git', 'clone_url': 'https://github.com/ethereum/hive.git', 'svn_url': 'https://github.com/ethereum/hive', 'homepage': None, 'size': 8374, 'stargazers_count': 96, 'watchers_count': 96, 'language': 'Go', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 36, 'mirror_url': None, 'archived': False, 'open_issues_count': 23, 'license': {'key': 'gpl-3.0', 'name': 'GNU General Public License v3.0', 'spdx_id': 'GPL-3.0', 'url': 'https://api.github.com/licenses/gpl-3.0', 'node_id': 'MDc6TGljZW5zZTk='}, 'forks': 36, 'open_issues': 23, 'watchers': 96, 'default_branch': 'master'}}, 'base': {'label': 'ethereum:master', 'ref': 'master', 'sha': 'd2df38bfabb35bdc4f13a1afd2f6c05528fd6982', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 62554553, 'node_id': 'MDEwOlJlcG9zaXRvcnk2MjU1NDU1Mw==', 'name': 'hive', 'full_name': 'ethereum/hive', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/hive', 'description': 'Ethereum end-to-end test harness', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/hive', 'forks_url': 'https://api.github.com/repos/ethereum/hive/forks', 'keys_url': 'https://api.github.com/repos/ethereum/hive/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/hive/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/hive/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/hive/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/hive/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/hive/events', 'assignees_url': 'https://api.github.com/repos/ethereum/hive/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/hive/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/hive/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/hive/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/hive/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/hive/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/hive/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/hive/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/hive/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/hive/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/hive/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/hive/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/hive/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/hive/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/hive/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/hive/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/hive/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/hive/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/hive/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/hive/merges', 'archive_url': 'https://api.github.com/repos/ethereum/hive/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/hive/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/hive/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/hive/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/hive/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/hive/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/hive/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/hive/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/hive/deployments', 'created_at': '2016-07-04T10:41:07Z', 'updated_at': '2018-12-14T11:20:54Z', 'pushed_at': '2018-12-14T11:48:47Z', 'git_url': 'git://github.com/ethereum/hive.git', 'ssh_url': '[email protected]:ethereum/hive.git', 'clone_url': 'https://github.com/ethereum/hive.git', 'svn_url': 'https://github.com/ethereum/hive', 'homepage': None, 'size': 8374, 'stargazers_count': 96, 'watchers_count': 96, 'language': 'Go', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 36, 'mirror_url': None, 'archived': False, 'open_issues_count': 23, 'license': {'key': 'gpl-3.0', 'name': 'GNU General Public License v3.0', 'spdx_id': 'GPL-3.0', 'url': 'https://api.github.com/licenses/gpl-3.0', 'node_id': 'MDc6TGljZW5zZTk='}, 'forks': 36, 'open_issues': 23, 'watchers': 96, 'default_branch': 'master'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/hive/pulls/161'}, 'html': {'href': 'https://github.com/ethereum/hive/pull/161'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/hive/issues/161'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/hive/issues/161/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/hive/pulls/161/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/hive/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/hive/pulls/161/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/hive/statuses/4d6ac7e8d067b2a5bea6b630fc6a86b427429259'}}, 'author_association': 'COLLABORATOR', 'merged': True, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'comments': 0, 'review_comments': 1, 'maintainer_can_modify': False, 'commits': 3, 'additions': 338, 'deletions': 4, 'changed_files': 5}}, 'public': True, 'created_at': '2018-12-14T11:48:48Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754473992', 'type': 'PushEvent', 'actor': {'id': 9073706, 'login': 'chriseth', 'display_login': 'chriseth', 'gravatar_id': '', 'url': 'https://api.github.com/users/chriseth', 'avatar_url': 'https://avatars.githubusercontent.com/u/9073706?'}, 'repo': {'id': 85063629, 'name': 'ethereum/solidity-test-bytecode', 'url': 'https://api.github.com/repos/ethereum/solidity-test-bytecode'}, 'payload': {'push_id': 3137655043, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/master', 'head': 'ab95f802dc710025784de90de19caf86edc7f6f9', 'before': '2435ecb0ffd17dc2ce030a489ab3621ba8db0b53', 'commits': [{'sha': 'ab95f802dc710025784de90de19caf86edc7f6f9', 'author': {'email': '[email protected]', 'name': 'travis'}, 'message': 'Added report 2018-12-14-0a68ca8c45ad2c16b11d567bcfd6d405d8667283/ubuntu-trusty.txt', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/solidity-test-bytecode/commits/ab95f802dc710025784de90de19caf86edc7f6f9'}]}, 'public': True, 'created_at': '2018-12-14T11:48:20Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754469379', 'type': 'ForkEvent', 'actor': {'id': 2289647, 'login': 'sot528', 'display_login': 'sot528', 'gravatar_id': '', 'url': 'https://api.github.com/users/sot528', 'avatar_url': 'https://avatars.githubusercontent.com/u/2289647?'}, 'repo': {'id': 44971752, 'name': 'ethereum/EIPs', 'url': 'https://api.github.com/repos/ethereum/EIPs'}, 'payload': {'forkee': {'id': 161777630, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjE3Nzc2MzA=', 'name': 'EIPs', 'full_name': 'sot528/EIPs', 'private': False, 'owner': {'login': 'sot528', 'id': 2289647, 'node_id': 'MDQ6VXNlcjIyODk2NDc=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/2289647?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sot528', 'html_url': 'https://github.com/sot528', 'followers_url': 'https://api.github.com/users/sot528/followers', 'following_url': 'https://api.github.com/users/sot528/following{/other_user}', 'gists_url': 'https://api.github.com/users/sot528/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sot528/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sot528/subscriptions', 'organizations_url': 'https://api.github.com/users/sot528/orgs', 'repos_url': 'https://api.github.com/users/sot528/repos', 'events_url': 'https://api.github.com/users/sot528/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sot528/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/sot528/EIPs', 'description': 'The Ethereum Improvement Proposal repository', 'fork': True, 'url': 'https://api.github.com/repos/sot528/EIPs', 'forks_url': 'https://api.github.com/repos/sot528/EIPs/forks', 'keys_url': 'https://api.github.com/repos/sot528/EIPs/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/sot528/EIPs/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/sot528/EIPs/teams', 'hooks_url': 'https://api.github.com/repos/sot528/EIPs/hooks', 'issue_events_url': 'https://api.github.com/repos/sot528/EIPs/issues/events{/number}', 'events_url': 'https://api.github.com/repos/sot528/EIPs/events', 'assignees_url': 'https://api.github.com/repos/sot528/EIPs/assignees{/user}', 'branches_url': 'https://api.github.com/repos/sot528/EIPs/branches{/branch}', 'tags_url': 'https://api.github.com/repos/sot528/EIPs/tags', 'blobs_url': 'https://api.github.com/repos/sot528/EIPs/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/sot528/EIPs/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/sot528/EIPs/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/sot528/EIPs/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/sot528/EIPs/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/sot528/EIPs/languages', 'stargazers_url': 'https://api.github.com/repos/sot528/EIPs/stargazers', 'contributors_url': 'https://api.github.com/repos/sot528/EIPs/contributors', 'subscribers_url': 'https://api.github.com/repos/sot528/EIPs/subscribers', 'subscription_url': 'https://api.github.com/repos/sot528/EIPs/subscription', 'commits_url': 'https://api.github.com/repos/sot528/EIPs/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/sot528/EIPs/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/sot528/EIPs/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/sot528/EIPs/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/sot528/EIPs/contents/{+path}', 'compare_url': 'https://api.github.com/repos/sot528/EIPs/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/sot528/EIPs/merges', 'archive_url': 'https://api.github.com/repos/sot528/EIPs/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/sot528/EIPs/downloads', 'issues_url': 'https://api.github.com/repos/sot528/EIPs/issues{/number}', 'pulls_url': 'https://api.github.com/repos/sot528/EIPs/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/sot528/EIPs/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/sot528/EIPs/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/sot528/EIPs/labels{/name}', 'releases_url': 'https://api.github.com/repos/sot528/EIPs/releases{/id}', 'deployments_url': 'https://api.github.com/repos/sot528/EIPs/deployments', 'created_at': '2018-12-14T11:47:25Z', 'updated_at': '2018-12-14T08:11:46Z', 'pushed_at': '2018-12-13T20:09:23Z', 'git_url': 'git://github.com/sot528/EIPs.git', 'ssh_url': '[email protected]:sot528/EIPs.git', 'clone_url': 'https://github.com/sot528/EIPs.git', 'svn_url': 'https://github.com/sot528/EIPs', 'homepage': 'http://eips.ethereum.org/', 'size': 2903, 'stargazers_count': 0, 'watchers_count': 0, 'language': None, 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'open_issues_count': 0, 'license': None, 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'public': True}}, 'public': True, 'created_at': '2018-12-14T11:47:25Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754466898', 'type': 'ForkEvent', 'actor': {'id': 16860673, 'login': 'nguyenlyminhman', 'display_login': 'nguyenlyminhman', 'gravatar_id': '', 'url': 'https://api.github.com/users/nguyenlyminhman', 'avatar_url': 'https://avatars.githubusercontent.com/u/16860673?'}, 'repo': {'id': 40892817, 'name': 'ethereum/solidity', 'url': 'https://api.github.com/repos/ethereum/solidity'}, 'payload': {'forkee': {'id': 161777563, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjE3Nzc1NjM=', 'name': 'solidity', 'full_name': 'nguyenlyminhman/solidity', 'private': False, 'owner': {'login': 'nguyenlyminhman', 'id': 16860673, 'node_id': 'MDQ6VXNlcjE2ODYwNjcz', 'avatar_url': 'https://avatars0.githubusercontent.com/u/16860673?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/nguyenlyminhman', 'html_url': 'https://github.com/nguyenlyminhman', 'followers_url': 'https://api.github.com/users/nguyenlyminhman/followers', 'following_url': 'https://api.github.com/users/nguyenlyminhman/following{/other_user}', 'gists_url': 'https://api.github.com/users/nguyenlyminhman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/nguyenlyminhman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/nguyenlyminhman/subscriptions', 'organizations_url': 'https://api.github.com/users/nguyenlyminhman/orgs', 'repos_url': 'https://api.github.com/users/nguyenlyminhman/repos', 'events_url': 'https://api.github.com/users/nguyenlyminhman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/nguyenlyminhman/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/nguyenlyminhman/solidity', 'description': 'Solidity, the Contract-Oriented Programming Language', 'fork': True, 'url': 'https://api.github.com/repos/nguyenlyminhman/solidity', 'forks_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/forks', 'keys_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/teams', 'hooks_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/hooks', 'issue_events_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/issues/events{/number}', 'events_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/events', 'assignees_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/assignees{/user}', 'branches_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/branches{/branch}', 'tags_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/tags', 'blobs_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/languages', 'stargazers_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/stargazers', 'contributors_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/contributors', 'subscribers_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/subscribers', 'subscription_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/subscription', 'commits_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/contents/{+path}', 'compare_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/merges', 'archive_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/downloads', 'issues_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/issues{/number}', 'pulls_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/labels{/name}', 'releases_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/releases{/id}', 'deployments_url': 'https://api.github.com/repos/nguyenlyminhman/solidity/deployments', 'created_at': '2018-12-14T11:46:51Z', 'updated_at': '2018-12-14T11:05:24Z', 'pushed_at': '2018-12-14T11:22:03Z', 'git_url': 'git://github.com/nguyenlyminhman/solidity.git', 'ssh_url': '[email protected]:nguyenlyminhman/solidity.git', 'clone_url': 'https://github.com/nguyenlyminhman/solidity.git', 'svn_url': 'https://github.com/nguyenlyminhman/solidity', 'homepage': 'https://solidity.readthedocs.io', 'size': 24942, 'stargazers_count': 0, 'watchers_count': 0, 'language': None, 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'open_issues_count': 0, 'license': None, 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'public': True}}, 'public': True, 'created_at': '2018-12-14T11:46:52Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754462601', 'type': 'ForkEvent', 'actor': {'id': 16860673, 'login': 'nguyenlyminhman', 'display_login': 'nguyenlyminhman', 'gravatar_id': '', 'url': 'https://api.github.com/users/nguyenlyminhman', 'avatar_url': 'https://avatars.githubusercontent.com/u/16860673?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'forkee': {'id': 161777449, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjE3Nzc0NDk=', 'name': 'go-ethereum', 'full_name': 'nguyenlyminhman/go-ethereum', 'private': False, 'owner': {'login': 'nguyenlyminhman', 'id': 16860673, 'node_id': 'MDQ6VXNlcjE2ODYwNjcz', 'avatar_url': 'https://avatars0.githubusercontent.com/u/16860673?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/nguyenlyminhman', 'html_url': 'https://github.com/nguyenlyminhman', 'followers_url': 'https://api.github.com/users/nguyenlyminhman/followers', 'following_url': 'https://api.github.com/users/nguyenlyminhman/following{/other_user}', 'gists_url': 'https://api.github.com/users/nguyenlyminhman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/nguyenlyminhman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/nguyenlyminhman/subscriptions', 'organizations_url': 'https://api.github.com/users/nguyenlyminhman/orgs', 'repos_url': 'https://api.github.com/users/nguyenlyminhman/repos', 'events_url': 'https://api.github.com/users/nguyenlyminhman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/nguyenlyminhman/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/nguyenlyminhman/go-ethereum', 'description': 'Official Go implementation of the Ethereum protocol', 'fork': True, 'url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum', 'forks_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/forks', 'keys_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/teams', 'hooks_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/hooks', 'issue_events_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/issues/events{/number}', 'events_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/events', 'assignees_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/assignees{/user}', 'branches_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/branches{/branch}', 'tags_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/tags', 'blobs_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/languages', 'stargazers_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/stargazers', 'contributors_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/contributors', 'subscribers_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/subscribers', 'subscription_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/subscription', 'commits_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/contents/{+path}', 'compare_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/merges', 'archive_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/downloads', 'issues_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/issues{/number}', 'pulls_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/labels{/name}', 'releases_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/releases{/id}', 'deployments_url': 'https://api.github.com/repos/nguyenlyminhman/go-ethereum/deployments', 'created_at': '2018-12-14T11:45:55Z', 'updated_at': '2018-12-14T10:47:12Z', 'pushed_at': '2018-12-14T10:15:32Z', 'git_url': 'git://github.com/nguyenlyminhman/go-ethereum.git', 'ssh_url': '[email protected]:nguyenlyminhman/go-ethereum.git', 'clone_url': 'https://github.com/nguyenlyminhman/go-ethereum.git', 'svn_url': 'https://github.com/nguyenlyminhman/go-ethereum', 'homepage': 'https://geth.ethereum.org', 'size': 107637, 'stargazers_count': 0, 'watchers_count': 0, 'language': None, 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'open_issues_count': 0, 'license': {'key': 'lgpl-3.0', 'name': 'GNU Lesser General Public License v3.0', 'spdx_id': 'LGPL-3.0', 'url': 'https://api.github.com/licenses/lgpl-3.0', 'node_id': 'MDc6TGljZW5zZTEy'}, 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'public': True}}, 'public': True, 'created_at': '2018-12-14T11:45:55Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754423427', 'type': 'PushEvent', 'actor': {'id': 9073706, 'login': 'chriseth', 'display_login': 'chriseth', 'gravatar_id': '', 'url': 'https://api.github.com/users/chriseth', 'avatar_url': 'https://avatars.githubusercontent.com/u/9073706?'}, 'repo': {'id': 85063629, 'name': 'ethereum/solidity-test-bytecode', 'url': 'https://api.github.com/repos/ethereum/solidity-test-bytecode'}, 'payload': {'push_id': 3137627808, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/master', 'head': '2435ecb0ffd17dc2ce030a489ab3621ba8db0b53', 'before': 'b034946fcd78acd5f428268fe13f41e3a6b12e25', 'commits': [{'sha': '2435ecb0ffd17dc2ce030a489ab3621ba8db0b53', 'author': {'email': '[email protected]', 'name': 'travis'}, 'message': 'Added report 2018-12-14-0a68ca8c45ad2c16b11d567bcfd6d405d8667283/emscripten.txt', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/solidity-test-bytecode/commits/2435ecb0ffd17dc2ce030a489ab3621ba8db0b53'}]}, 'public': True, 'created_at': '2018-12-14T11:37:25Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754416458', 'type': 'PushEvent', 'actor': {'id': 9073706, 'login': 'chriseth', 'display_login': 'chriseth', 'gravatar_id': '', 'url': 'https://api.github.com/users/chriseth', 'avatar_url': 'https://avatars.githubusercontent.com/u/9073706?'}, 'repo': {'id': 85063629, 'name': 'ethereum/solidity-test-bytecode', 'url': 'https://api.github.com/repos/ethereum/solidity-test-bytecode'}, 'payload': {'push_id': 3137624181, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/master', 'head': 'b034946fcd78acd5f428268fe13f41e3a6b12e25', 'before': 'ead58f21d3f4ba1e34e2ae66a711b0d6c62502d0', 'commits': [{'sha': 'b034946fcd78acd5f428268fe13f41e3a6b12e25', 'author': {'email': '[email protected]', 'name': 'travis'}, 'message': 'Added report 2018-12-14-0a68ca8c45ad2c16b11d567bcfd6d405d8667283/ubuntu-trusty-clang.txt', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/solidity-test-bytecode/commits/b034946fcd78acd5f428268fe13f41e3a6b12e25'}]}, 'public': True, 'created_at': '2018-12-14T11:35:56Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754415961', 'type': 'IssueCommentEvent', 'actor': {'id': 504195, 'login': 'leonardoalt', 'display_login': 'leonardoalt', 'gravatar_id': '', 'url': 'https://api.github.com/users/leonardoalt', 'avatar_url': 'https://avatars.githubusercontent.com/u/504195?'}, 'repo': {'id': 40892817, 'name': 'ethereum/solidity', 'url': 'https://api.github.com/repos/ethereum/solidity'}, 'payload': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/ethereum/solidity/issues/5654', 'repository_url': 'https://api.github.com/repos/ethereum/solidity', 'labels_url': 'https://api.github.com/repos/ethereum/solidity/issues/5654/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/solidity/issues/5654/comments', 'events_url': 'https://api.github.com/repos/ethereum/solidity/issues/5654/events', 'html_url': 'https://github.com/ethereum/solidity/issues/5654', 'id': 390700758, 'node_id': 'MDU6SXNzdWUzOTA3MDA3NTg=', 'number': 5654, 'title': 'End of life of Solidity 0.4', 'user': {'login': 'alcuadrado', 'id': 176499, 'node_id': 'MDQ6VXNlcjE3NjQ5OQ==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/176499?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/alcuadrado', 'html_url': 'https://github.com/alcuadrado', 'followers_url': 'https://api.github.com/users/alcuadrado/followers', 'following_url': 'https://api.github.com/users/alcuadrado/following{/other_user}', 'gists_url': 'https://api.github.com/users/alcuadrado/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/alcuadrado/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/alcuadrado/subscriptions', 'organizations_url': 'https://api.github.com/users/alcuadrado/orgs', 'repos_url': 'https://api.github.com/users/alcuadrado/repos', 'events_url': 'https://api.github.com/users/alcuadrado/events{/privacy}', 'received_events_url': 'https://api.github.com/users/alcuadrado/received_events', 'type': 'User', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2018-12-13T14:22:30Z', 'updated_at': '2018-12-14T11:35:50Z', 'closed_at': '2018-12-13T14:45:36Z', 'author_association': 'NONE', 'body': "## Description\r\n\r\nI couldn't find any information about Solidity 0.4 future plans. I'm specially interested about its EOL. I think it's really important to plan libraries' and tooling's migration to 0.5. Has it been defined?"}, 'comment': {'url': 'https://api.github.com/repos/ethereum/solidity/issues/comments/447299523', 'html_url': 'https://github.com/ethereum/solidity/issues/5654#issuecomment-447299523', 'issue_url': 'https://api.github.com/repos/ethereum/solidity/issues/5654', 'id': 447299523, 'node_id': 'MDEyOklzc3VlQ29tbWVudDQ0NzI5OTUyMw==', 'user': {'login': 'leonardoalt', 'id': 504195, 'node_id': 'MDQ6VXNlcjUwNDE5NQ==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/504195?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/leonardoalt', 'html_url': 'https://github.com/leonardoalt', 'followers_url': 'https://api.github.com/users/leonardoalt/followers', 'following_url': 'https://api.github.com/users/leonardoalt/following{/other_user}', 'gists_url': 'https://api.github.com/users/leonardoalt/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/leonardoalt/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/leonardoalt/subscriptions', 'organizations_url': 'https://api.github.com/users/leonardoalt/orgs', 'repos_url': 'https://api.github.com/users/leonardoalt/repos', 'events_url': 'https://api.github.com/users/leonardoalt/events{/privacy}', 'received_events_url': 'https://api.github.com/users/leonardoalt/received_events', 'type': 'User', 'site_admin': False}, 'created_at': '2018-12-14T11:35:50Z', 'updated_at': '2018-12-14T11:35:50Z', 'author_association': 'MEMBER', 'body': "No worries @alcuadrado . That message is probably just from readthedocs.\r\nWhy should it explicitly say it? Older versions haven't been kept maintained before, why would 0.4?"}}, 'public': True, 'created_at': '2018-12-14T11:35:50Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754399511', 'type': 'PushEvent', 'actor': {'id': 33515470, 'login': 'FrankSzendzielarz', 'display_login': 'FrankSzendzielarz', 'gravatar_id': '', 'url': 'https://api.github.com/users/FrankSzendzielarz', 'avatar_url': 'https://avatars.githubusercontent.com/u/33515470?'}, 'repo': {'id': 62554553, 'name': 'ethereum/hive', 'url': 'https://api.github.com/repos/ethereum/hive'}, 'payload': {'push_id': 3137615452, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/Chaintools', 'head': '4d6ac7e8d067b2a5bea6b630fc6a86b427429259', 'before': 'b8ce9f2d228d4e3b262eae17493dde5626b41647', 'commits': [{'sha': '4d6ac7e8d067b2a5bea6b630fc6a86b427429259', 'author': {'email': '[email protected]', 'name': 'Martin Holst Swende'}, 'message': 'Update README.md\n\nCo-Authored-By: FrankSzendzielarz <[email protected]>', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/hive/commits/4d6ac7e8d067b2a5bea6b630fc6a86b427429259'}]}, 'public': True, 'created_at': '2018-12-14T11:32:30Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754394928', 'type': 'ForkEvent', 'actor': {'id': 30716372, 'login': '3for', 'display_login': '3for', 'gravatar_id': '', 'url': 'https://api.github.com/users/3for', 'avatar_url': 'https://avatars.githubusercontent.com/u/30716372?'}, 'repo': {'id': 42808596, 'name': 'ethereum/research', 'url': 'https://api.github.com/repos/ethereum/research'}, 'payload': {'forkee': {'id': 161775988, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjE3NzU5ODg=', 'name': 'research', 'full_name': '3for/research', 'private': False, 'owner': {'login': '3for', 'id': 30716372, 'node_id': 'MDQ6VXNlcjMwNzE2Mzcy', 'avatar_url': 'https://avatars0.githubusercontent.com/u/30716372?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/3for', 'html_url': 'https://github.com/3for', 'followers_url': 'https://api.github.com/users/3for/followers', 'following_url': 'https://api.github.com/users/3for/following{/other_user}', 'gists_url': 'https://api.github.com/users/3for/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/3for/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/3for/subscriptions', 'organizations_url': 'https://api.github.com/users/3for/orgs', 'repos_url': 'https://api.github.com/users/3for/repos', 'events_url': 'https://api.github.com/users/3for/events{/privacy}', 'received_events_url': 'https://api.github.com/users/3for/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/3for/research', 'description': None, 'fork': True, 'url': 'https://api.github.com/repos/3for/research', 'forks_url': 'https://api.github.com/repos/3for/research/forks', 'keys_url': 'https://api.github.com/repos/3for/research/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/3for/research/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/3for/research/teams', 'hooks_url': 'https://api.github.com/repos/3for/research/hooks', 'issue_events_url': 'https://api.github.com/repos/3for/research/issues/events{/number}', 'events_url': 'https://api.github.com/repos/3for/research/events', 'assignees_url': 'https://api.github.com/repos/3for/research/assignees{/user}', 'branches_url': 'https://api.github.com/repos/3for/research/branches{/branch}', 'tags_url': 'https://api.github.com/repos/3for/research/tags', 'blobs_url': 'https://api.github.com/repos/3for/research/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/3for/research/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/3for/research/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/3for/research/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/3for/research/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/3for/research/languages', 'stargazers_url': 'https://api.github.com/repos/3for/research/stargazers', 'contributors_url': 'https://api.github.com/repos/3for/research/contributors', 'subscribers_url': 'https://api.github.com/repos/3for/research/subscribers', 'subscription_url': 'https://api.github.com/repos/3for/research/subscription', 'commits_url': 'https://api.github.com/repos/3for/research/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/3for/research/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/3for/research/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/3for/research/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/3for/research/contents/{+path}', 'compare_url': 'https://api.github.com/repos/3for/research/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/3for/research/merges', 'archive_url': 'https://api.github.com/repos/3for/research/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/3for/research/downloads', 'issues_url': 'https://api.github.com/repos/3for/research/issues{/number}', 'pulls_url': 'https://api.github.com/repos/3for/research/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/3for/research/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/3for/research/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/3for/research/labels{/name}', 'releases_url': 'https://api.github.com/repos/3for/research/releases{/id}', 'deployments_url': 'https://api.github.com/repos/3for/research/deployments', 'created_at': '2018-12-14T11:31:32Z', 'updated_at': '2018-12-14T11:31:29Z', 'pushed_at': '2018-11-08T23:24:30Z', 'git_url': 'git://github.com/3for/research.git', 'ssh_url': '[email protected]:3for/research.git', 'clone_url': 'https://github.com/3for/research.git', 'svn_url': 'https://github.com/3for/research', 'homepage': None, 'size': 31641, 'stargazers_count': 0, 'watchers_count': 0, 'language': None, 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'open_issues_count': 0, 'license': None, 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'public': True}}, 'public': True, 'created_at': '2018-12-14T11:31:32Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754394731', 'type': 'WatchEvent', 'actor': {'id': 30716372, 'login': '3for', 'display_login': '3for', 'gravatar_id': '', 'url': 'https://api.github.com/users/3for', 'avatar_url': 'https://avatars.githubusercontent.com/u/30716372?'}, 'repo': {'id': 42808596, 'name': 'ethereum/research', 'url': 'https://api.github.com/repos/ethereum/research'}, 'payload': {'action': 'started'}, 'public': True, 'created_at': '2018-12-14T11:31:29Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754392528', 'type': 'PullRequestReviewCommentEvent', 'actor': {'id': 142290, 'login': 'holiman', 'display_login': 'holiman', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'avatar_url': 'https://avatars.githubusercontent.com/u/142290?'}, 'repo': {'id': 62554553, 'name': 'ethereum/hive', 'url': 'https://api.github.com/repos/ethereum/hive'}, 'payload': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/ethereum/hive/pulls/comments/241725263', 'pull_request_review_id': 185070168, 'id': 241725263, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MTcyNTI2Mw==', 'diff_hunk': '@@ -521,12 +521,34 @@ will result a `subresults` field\n   }\n ]\n ```\n-\n ### Closing notes\n \n  * There is no constraint on how much time a simulation may run, but please be considerate.\n  * The simulator doesn\'t have to terminate nodes itself, upon exit all resources are reclaimed.\n \n+# Generating test blockchains\n+\n+`Hive` allows you to create rlp encoded blockchains for inclusion into sync tests \n+\n+## To generate a blockchain offline\n+\n+`Hive` can be run with the `chainGenerate` setting to generate a blockchain according to specification\n+and then exit. The current version only generates blocks with empty transactions, but this will be\n+improved in the future to offer generation of chains that exhibit different characteristics for testing.\n+\n+* `chainGenerate`   Bool    (false)  Tell Hive to generate a blockchain on the basis of a supplied genesis and terminate\n+* `chainLength`     Uint    (2)     The length of the chain to generate\n+* `chainConfig`     String              Reserved for future usage. Will allow Hive to generate test chains of different types\n+*\t`chainOutputPath` String  (.)   Chain destination folder\n+*\t`chainGenesis`    String  ("")  The path and filename to the source genesis.json\n+*\t`chainBlockTime`  Uint    (30)    The desired block time in seconds', 'path': 'README.md', 'position': 25, 'original_position': 25, 'commit_id': 'b8ce9f2d228d4e3b262eae17493dde5626b41647', 'original_commit_id': 'b8ce9f2d228d4e3b262eae17493dde5626b41647', 'user': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'body': "```suggestion\r\n*\t`chainBlockTime`  Uint    (30)    The desired block time in seconds. OBS: It's recommended to set this value to somwhere above 20s to keep the mining difficulty low.\r\n```", 'created_at': '2018-12-14T11:31:01Z', 'updated_at': '2018-12-14T11:31:01Z', 'html_url': 'https://github.com/ethereum/hive/pull/161#discussion_r241725263', 'pull_request_url': 'https://api.github.com/repos/ethereum/hive/pulls/161', 'author_association': 'COLLABORATOR', '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/hive/pulls/comments/241725263'}, 'html': {'href': 'https://github.com/ethereum/hive/pull/161#discussion_r241725263'}, 'pull_request': {'href': 'https://api.github.com/repos/ethereum/hive/pulls/161'}}}, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/hive/pulls/161', 'id': 238472860, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM4NDcyODYw', 'html_url': 'https://github.com/ethereum/hive/pull/161', 'diff_url': 'https://github.com/ethereum/hive/pull/161.diff', 'patch_url': 'https://github.com/ethereum/hive/pull/161.patch', 'issue_url': 'https://api.github.com/repos/ethereum/hive/issues/161', 'number': 161, 'state': 'open', 'locked': False, 'title': 'Chain tools', 'user': {'login': 'FrankSzendzielarz', 'id': 33515470, 'node_id': 'MDQ6VXNlcjMzNTE1NDcw', 'avatar_url': 'https://avatars1.githubusercontent.com/u/33515470?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/FrankSzendzielarz', 'html_url': 'https://github.com/FrankSzendzielarz', 'followers_url': 'https://api.github.com/users/FrankSzendzielarz/followers', 'following_url': 'https://api.github.com/users/FrankSzendzielarz/following{/other_user}', 'gists_url': 'https://api.github.com/users/FrankSzendzielarz/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/FrankSzendzielarz/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/FrankSzendzielarz/subscriptions', 'organizations_url': 'https://api.github.com/users/FrankSzendzielarz/orgs', 'repos_url': 'https://api.github.com/users/FrankSzendzielarz/repos', 'events_url': 'https://api.github.com/users/FrankSzendzielarz/events{/privacy}', 'received_events_url': 'https://api.github.com/users/FrankSzendzielarz/received_events', 'type': 'User', 'site_admin': False}, 'body': 'This PR adds the "chain tools" (chaintools folder) necessary for the sync simulations. It also adds some helpful command line options to Hive to allow testers to generate rlp encoded blockchains for import. More info in the Readme.md.\r\n\r\n\r\nIn future PRs these chaintools may be moved to simulators/common to allow dynamic regeneration of blockchains for sync tests.\r\n', 'created_at': '2018-12-13T17:32:00Z', 'updated_at': '2018-12-14T11:31:01Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '72a5fd1a30f6c0fff23a8d6973a817c9f950b1f9', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/hive/pulls/161/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/hive/pulls/161/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/hive/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/hive/issues/161/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/hive/statuses/b8ce9f2d228d4e3b262eae17493dde5626b41647', 'head': {'label': 'ethereum:Chaintools', 'ref': 'Chaintools', 'sha': 'b8ce9f2d228d4e3b262eae17493dde5626b41647', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 62554553, 'node_id': 'MDEwOlJlcG9zaXRvcnk2MjU1NDU1Mw==', 'name': 'hive', 'full_name': 'ethereum/hive', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/hive', 'description': 'Ethereum end-to-end test harness', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/hive', 'forks_url': 'https://api.github.com/repos/ethereum/hive/forks', 'keys_url': 'https://api.github.com/repos/ethereum/hive/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/hive/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/hive/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/hive/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/hive/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/hive/events', 'assignees_url': 'https://api.github.com/repos/ethereum/hive/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/hive/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/hive/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/hive/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/hive/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/hive/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/hive/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/hive/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/hive/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/hive/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/hive/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/hive/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/hive/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/hive/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/hive/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/hive/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/hive/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/hive/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/hive/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/hive/merges', 'archive_url': 'https://api.github.com/repos/ethereum/hive/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/hive/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/hive/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/hive/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/hive/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/hive/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/hive/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/hive/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/hive/deployments', 'created_at': '2016-07-04T10:41:07Z', 'updated_at': '2018-12-14T11:20:54Z', 'pushed_at': '2018-12-14T11:20:51Z', 'git_url': 'git://github.com/ethereum/hive.git', 'ssh_url': '[email protected]:ethereum/hive.git', 'clone_url': 'https://github.com/ethereum/hive.git', 'svn_url': 'https://github.com/ethereum/hive', 'homepage': None, 'size': 8374, 'stargazers_count': 96, 'watchers_count': 96, 'language': 'Go', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 36, 'mirror_url': None, 'archived': False, 'open_issues_count': 24, 'license': {'key': 'gpl-3.0', 'name': 'GNU General Public License v3.0', 'spdx_id': 'GPL-3.0', 'url': 'https://api.github.com/licenses/gpl-3.0', 'node_id': 'MDc6TGljZW5zZTk='}, 'forks': 36, 'open_issues': 24, 'watchers': 96, 'default_branch': 'master'}}, 'base': {'label': 'ethereum:master', 'ref': 'master', 'sha': 'd2df38bfabb35bdc4f13a1afd2f6c05528fd6982', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 62554553, 'node_id': 'MDEwOlJlcG9zaXRvcnk2MjU1NDU1Mw==', 'name': 'hive', 'full_name': 'ethereum/hive', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/hive', 'description': 'Ethereum end-to-end test harness', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/hive', 'forks_url': 'https://api.github.com/repos/ethereum/hive/forks', 'keys_url': 'https://api.github.com/repos/ethereum/hive/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/hive/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/hive/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/hive/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/hive/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/hive/events', 'assignees_url': 'https://api.github.com/repos/ethereum/hive/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/hive/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/hive/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/hive/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/hive/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/hive/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/hive/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/hive/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/hive/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/hive/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/hive/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/hive/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/hive/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/hive/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/hive/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/hive/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/hive/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/hive/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/hive/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/hive/merges', 'archive_url': 'https://api.github.com/repos/ethereum/hive/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/hive/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/hive/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/hive/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/hive/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/hive/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/hive/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/hive/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/hive/deployments', 'created_at': '2016-07-04T10:41:07Z', 'updated_at': '2018-12-14T11:20:54Z', 'pushed_at': '2018-12-14T11:20:51Z', 'git_url': 'git://github.com/ethereum/hive.git', 'ssh_url': '[email protected]:ethereum/hive.git', 'clone_url': 'https://github.com/ethereum/hive.git', 'svn_url': 'https://github.com/ethereum/hive', 'homepage': None, 'size': 8374, 'stargazers_count': 96, 'watchers_count': 96, 'language': 'Go', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 36, 'mirror_url': None, 'archived': False, 'open_issues_count': 24, 'license': {'key': 'gpl-3.0', 'name': 'GNU General Public License v3.0', 'spdx_id': 'GPL-3.0', 'url': 'https://api.github.com/licenses/gpl-3.0', 'node_id': 'MDc6TGljZW5zZTk='}, 'forks': 36, 'open_issues': 24, 'watchers': 96, 'default_branch': 'master'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/hive/pulls/161'}, 'html': {'href': 'https://github.com/ethereum/hive/pull/161'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/hive/issues/161'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/hive/issues/161/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/hive/pulls/161/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/hive/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/hive/pulls/161/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/hive/statuses/b8ce9f2d228d4e3b262eae17493dde5626b41647'}}, 'author_association': 'COLLABORATOR'}}, 'public': True, 'created_at': '2018-12-14T11:31:01Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754383076', 'type': 'WatchEvent', 'actor': {'id': 40417611, 'login': '1tD0g', 'display_login': '1tD0g', 'gravatar_id': '', 'url': 'https://api.github.com/users/1tD0g', 'avatar_url': 'https://avatars.githubusercontent.com/u/40417611?'}, 'repo': {'id': 77478378, 'name': 'ethereum/py-evm', 'url': 'https://api.github.com/repos/ethereum/py-evm'}, 'payload': {'action': 'started'}, 'public': True, 'created_at': '2018-12-14T11:29:04Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754382391', 'type': 'PullRequestReviewCommentEvent', 'actor': {'id': 1863135, 'login': 'gumb0', 'display_login': 'gumb0', 'gravatar_id': '', 'url': 'https://api.github.com/users/gumb0', 'avatar_url': 'https://avatars.githubusercontent.com/u/1863135?'}, 'repo': {'id': 15460666, 'name': 'ethereum/aleth', 'url': 'https://api.github.com/repos/ethereum/aleth'}, 'payload': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/ethereum/aleth/pulls/comments/241724640', 'pull_request_review_id': 185069430, 'id': 241724640, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MTcyNDY0MA==', 'diff_hunk': '@@ -59,8 +59,10 @@ int main(int argc, char** argv)\n     addNetworkingOption("listen-ip", po::value<string>()->value_name("<ip>(:<port>)"),\n         "Listen on the given IP for incoming connections (default: 0.0.0.0)");\n     addNetworkingOption("listen", po::value<unsigned short>()->value_name("<port>"),\n-        "Listen on the given port for incoming connections (default: 30303)\\n");\n-\n+        "Listen on the given port for incoming connections (default: 30303)");\n+    addNetworkingOption("allow-local",\n+        "Allow connections from nodes on your local network. Primarily used for testing "', 'path': 'aleth-bootnode/main.cpp', 'position': 8, 'original_position': 8, 'commit_id': '12bae4ea3a5f3a4931d778de64c43e4974da92e6', 'original_commit_id': '12bae4ea3a5f3a4931d778de64c43e4974da92e6', 'user': {'login': 'gumb0', 'id': 1863135, 'node_id': 'MDQ6VXNlcjE4NjMxMzU=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/1863135?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/gumb0', 'html_url': 'https://github.com/gumb0', 'followers_url': 'https://api.github.com/users/gumb0/followers', 'following_url': 'https://api.github.com/users/gumb0/following{/other_user}', 'gists_url': 'https://api.github.com/users/gumb0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/gumb0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/gumb0/subscriptions', 'organizations_url': 'https://api.github.com/users/gumb0/orgs', 'repos_url': 'https://api.github.com/users/gumb0/repos', 'events_url': 'https://api.github.com/users/gumb0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/gumb0/received_events', 'type': 'User', 'site_admin': False}, 'body': 'I have doubts about the wording: "connections" meaning devp2p connections are allowed anyway.\r\nMaybe the flag should be `allow-local-discovery` and description something like "Include local addresses in discovery."', 'created_at': '2018-12-14T11:28:55Z', 'updated_at': '2018-12-14T11:28:55Z', 'html_url': 'https://github.com/ethereum/aleth/pull/5399#discussion_r241724640', 'pull_request_url': 'https://api.github.com/repos/ethereum/aleth/pulls/5399', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/aleth/pulls/comments/241724640'}, 'html': {'href': 'https://github.com/ethereum/aleth/pull/5399#discussion_r241724640'}, 'pull_request': {'href': 'https://api.github.com/repos/ethereum/aleth/pulls/5399'}}}, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/aleth/pulls/5399', 'id': 238588768, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM4NTg4NzY4', 'html_url': 'https://github.com/ethereum/aleth/pull/5399', 'diff_url': 'https://github.com/ethereum/aleth/pull/5399.diff', 'patch_url': 'https://github.com/ethereum/aleth/pull/5399.patch', 'issue_url': 'https://api.github.com/repos/ethereum/aleth/issues/5399', 'number': 5399, 'state': 'open', 'locked': False, 'title': 'Add allow-local networking command-line argument to aleth & aleth-bootnode', 'user': {'login': 'halfalicious', 'id': 15605026, 'node_id': 'MDQ6VXNlcjE1NjA1MDI2', 'avatar_url': 'https://avatars1.githubusercontent.com/u/15605026?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/halfalicious', 'html_url': 'https://github.com/halfalicious', 'followers_url': 'https://api.github.com/users/halfalicious/followers', 'following_url': 'https://api.github.com/users/halfalicious/following{/other_user}', 'gists_url': 'https://api.github.com/users/halfalicious/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/halfalicious/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/halfalicious/subscriptions', 'organizations_url': 'https://api.github.com/users/halfalicious/orgs', 'repos_url': 'https://api.github.com/users/halfalicious/repos', 'events_url': 'https://api.github.com/users/halfalicious/events{/privacy}', 'received_events_url': 'https://api.github.com/users/halfalicious/received_events', 'type': 'User', 'site_admin': False}, 'body': 'New networking arg is used to enable nodes from your local network to be added to the\r\nnode table. Useful for testing discovery running multiple nodes on ones local machine', 'created_at': '2018-12-14T01:58:55Z', 'updated_at': '2018-12-14T11:28:55Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'b0c1b23314ae8141f5174ca2164451856721481e', 'assignee': None, 'assignees': [], 'requested_reviewers': [{'login': 'chfast', 'id': 573380, 'node_id': 'MDQ6VXNlcjU3MzM4MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/573380?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/chfast', 'html_url': 'https://github.com/chfast', 'followers_url': 'https://api.github.com/users/chfast/followers', 'following_url': 'https://api.github.com/users/chfast/following{/other_user}', 'gists_url': 'https://api.github.com/users/chfast/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/chfast/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/chfast/subscriptions', 'organizations_url': 'https://api.github.com/users/chfast/orgs', 'repos_url': 'https://api.github.com/users/chfast/repos', 'events_url': 'https://api.github.com/users/chfast/events{/privacy}', 'received_events_url': 'https://api.github.com/users/chfast/received_events', 'type': 'User', 'site_admin': False}], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/aleth/pulls/5399/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/aleth/pulls/5399/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/aleth/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/aleth/issues/5399/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/aleth/statuses/12bae4ea3a5f3a4931d778de64c43e4974da92e6', 'head': {'label': 'ethereum:test-allowlocal', 'ref': 'test-allowlocal', 'sha': '12bae4ea3a5f3a4931d778de64c43e4974da92e6', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 15460666, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNTQ2MDY2Ng==', 'name': 'aleth', 'full_name': 'ethereum/aleth', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/aleth', 'description': 'Aleth – Ethereum C++ client, tools and libraries', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/aleth', 'forks_url': 'https://api.github.com/repos/ethereum/aleth/forks', 'keys_url': 'https://api.github.com/repos/ethereum/aleth/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/aleth/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/aleth/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/aleth/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/aleth/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/aleth/events', 'assignees_url': 'https://api.github.com/repos/ethereum/aleth/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/aleth/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/aleth/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/aleth/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/aleth/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/aleth/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/aleth/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/aleth/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/aleth/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/aleth/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/aleth/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/aleth/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/aleth/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/aleth/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/aleth/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/aleth/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/aleth/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/aleth/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/aleth/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/aleth/merges', 'archive_url': 'https://api.github.com/repos/ethereum/aleth/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/aleth/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/aleth/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/aleth/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/aleth/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/aleth/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/aleth/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/aleth/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/aleth/deployments', 'created_at': '2013-12-26T21:26:06Z', 'updated_at': '2018-12-14T10:40:31Z', 'pushed_at': '2018-12-14T10:40:22Z', 'git_url': 'git://github.com/ethereum/aleth.git', 'ssh_url': '[email protected]:ethereum/aleth.git', 'clone_url': 'https://github.com/ethereum/aleth.git', 'svn_url': 'https://github.com/ethereum/aleth', 'homepage': 'http://cpp-ethereum.org', 'size': 55466, 'stargazers_count': 3455, 'watchers_count': 3455, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': True, 'forks_count': 2137, 'mirror_url': None, 'archived': False, 'open_issues_count': 322, 'license': {'key': 'gpl-3.0', 'name': 'GNU General Public License v3.0', 'spdx_id': 'GPL-3.0', 'url': 'https://api.github.com/licenses/gpl-3.0', 'node_id': 'MDc6TGljZW5zZTk='}, 'forks': 2137, 'open_issues': 322, 'watchers': 3455, 'default_branch': 'master'}}, 'base': {'label': 'ethereum:master', 'ref': 'master', 'sha': 'ec3886029393fc9927b130ba8f8671480d810391', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 15460666, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNTQ2MDY2Ng==', 'name': 'aleth', 'full_name': 'ethereum/aleth', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/aleth', 'description': 'Aleth – Ethereum C++ client, tools and libraries', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/aleth', 'forks_url': 'https://api.github.com/repos/ethereum/aleth/forks', 'keys_url': 'https://api.github.com/repos/ethereum/aleth/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/aleth/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/aleth/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/aleth/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/aleth/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/aleth/events', 'assignees_url': 'https://api.github.com/repos/ethereum/aleth/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/aleth/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/aleth/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/aleth/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/aleth/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/aleth/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/aleth/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/aleth/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/aleth/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/aleth/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/aleth/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/aleth/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/aleth/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/aleth/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/aleth/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/aleth/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/aleth/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/aleth/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/aleth/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/aleth/merges', 'archive_url': 'https://api.github.com/repos/ethereum/aleth/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/aleth/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/aleth/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/aleth/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/aleth/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/aleth/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/aleth/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/aleth/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/aleth/deployments', 'created_at': '2013-12-26T21:26:06Z', 'updated_at': '2018-12-14T10:40:31Z', 'pushed_at': '2018-12-14T10:40:22Z', 'git_url': 'git://github.com/ethereum/aleth.git', 'ssh_url': '[email protected]:ethereum/aleth.git', 'clone_url': 'https://github.com/ethereum/aleth.git', 'svn_url': 'https://github.com/ethereum/aleth', 'homepage': 'http://cpp-ethereum.org', 'size': 55466, 'stargazers_count': 3455, 'watchers_count': 3455, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': True, 'forks_count': 2137, 'mirror_url': None, 'archived': False, 'open_issues_count': 322, 'license': {'key': 'gpl-3.0', 'name': 'GNU General Public License v3.0', 'spdx_id': 'GPL-3.0', 'url': 'https://api.github.com/licenses/gpl-3.0', 'node_id': 'MDc6TGljZW5zZTk='}, 'forks': 2137, 'open_issues': 322, 'watchers': 3455, 'default_branch': 'master'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/aleth/pulls/5399'}, 'html': {'href': 'https://github.com/ethereum/aleth/pull/5399'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/aleth/issues/5399'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/aleth/issues/5399/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/aleth/pulls/5399/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/aleth/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/aleth/pulls/5399/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/aleth/statuses/12bae4ea3a5f3a4931d778de64c43e4974da92e6'}}, 'author_association': 'CONTRIBUTOR'}}, 'public': True, 'created_at': '2018-12-14T11:28:55Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754371838', 'type': 'IssueCommentEvent', 'actor': {'id': 44437404, 'login': 'naikmyeong', 'display_login': 'naikmyeong', 'gravatar_id': '', 'url': 'https://api.github.com/users/naikmyeong', 'avatar_url': 'https://avatars.githubusercontent.com/u/44437404?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18308', 'repository_url': 'https://api.github.com/repos/ethereum/go-ethereum', 'labels_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18308/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18308/comments', 'events_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18308/events', 'html_url': 'https://github.com/ethereum/go-ethereum/pull/18308', 'id': 390930429, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM4NTg1NjIx', 'number': 18308, 'title': 'travis, appveyor: bump to Go 1.11.3', 'user': {'login': 'SamuelMarks', 'id': 807580, 'node_id': 'MDQ6VXNlcjgwNzU4MA==', 'avatar_url': 'https://avatars0.githubusercontent.com/u/807580?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SamuelMarks', 'html_url': 'https://github.com/SamuelMarks', 'followers_url': 'https://api.github.com/users/SamuelMarks/followers', 'following_url': 'https://api.github.com/users/SamuelMarks/following{/other_user}', 'gists_url': 'https://api.github.com/users/SamuelMarks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SamuelMarks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SamuelMarks/subscriptions', 'organizations_url': 'https://api.github.com/users/SamuelMarks/orgs', 'repos_url': 'https://api.github.com/users/SamuelMarks/repos', 'events_url': 'https://api.github.com/users/SamuelMarks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SamuelMarks/received_events', 'type': 'User', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 0, 'created_at': '2018-12-14T01:35:03Z', 'updated_at': '2018-12-14T11:26:42Z', 'closed_at': None, 'author_association': 'CONTRIBUTOR', 'pull_request': {'url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18308', 'html_url': 'https://github.com/ethereum/go-ethereum/pull/18308', 'diff_url': 'https://github.com/ethereum/go-ethereum/pull/18308.diff', 'patch_url': 'https://github.com/ethereum/go-ethereum/pull/18308.patch'}, 'body': 'No release notes yet! - https://golang.org/doc/devel/release.html'}, 'comment': {'url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/comments/447297507', 'html_url': 'https://github.com/ethereum/go-ethereum/pull/18308#issuecomment-447297507', 'issue_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18308', 'id': 447297507, 'node_id': 'MDEyOklzc3VlQ29tbWVudDQ0NzI5NzUwNw==', 'user': {'login': 'naikmyeong', 'id': 44437404, 'node_id': 'MDQ6VXNlcjQ0NDM3NDA0', 'avatar_url': 'https://avatars0.githubusercontent.com/u/44437404?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/naikmyeong', 'html_url': 'https://github.com/naikmyeong', 'followers_url': 'https://api.github.com/users/naikmyeong/followers', 'following_url': 'https://api.github.com/users/naikmyeong/following{/other_user}', 'gists_url': 'https://api.github.com/users/naikmyeong/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/naikmyeong/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/naikmyeong/subscriptions', 'organizations_url': 'https://api.github.com/users/naikmyeong/orgs', 'repos_url': 'https://api.github.com/users/naikmyeong/repos', 'events_url': 'https://api.github.com/users/naikmyeong/events{/privacy}', 'received_events_url': 'https://api.github.com/users/naikmyeong/received_events', 'type': 'User', 'site_admin': False}, 'created_at': '2018-12-14T11:26:42Z', 'updated_at': '2018-12-14T11:26:42Z', 'author_association': 'NONE', 'body': 'Here is the release note for go 1.11.3 and 1.10.6 https://groups.google.com/forum/m/#!topic/golang-announce/Kw31K8G7Fi0'}}, 'public': True, 'created_at': '2018-12-14T11:26:42Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754353877', 'type': 'IssuesEvent', 'actor': {'id': 49922, 'login': 'miohtama', 'display_login': 'miohtama', 'gravatar_id': '', 'url': 'https://api.github.com/users/miohtama', 'avatar_url': 'https://avatars.githubusercontent.com/u/49922?'}, 'repo': {'id': 40892817, 'name': 'ethereum/solidity', 'url': 'https://api.github.com/repos/ethereum/solidity'}, 'payload': {'action': 'opened', 'issue': {'url': 'https://api.github.com/repos/ethereum/solidity/issues/5657', 'repository_url': 'https://api.github.com/repos/ethereum/solidity', 'labels_url': 'https://api.github.com/repos/ethereum/solidity/issues/5657/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/solidity/issues/5657/comments', 'events_url': 'https://api.github.com/repos/ethereum/solidity/issues/5657/events', 'html_url': 'https://github.com/ethereum/solidity/issues/5657', 'id': 391071836, 'node_id': 'MDU6SXNzdWUzOTEwNzE4MzY=', 'number': 5657, 'title': 'Feature request: flattened source code output', 'user': {'login': 'miohtama', 'id': 49922, 'node_id': 'MDQ6VXNlcjQ5OTIy', 'avatar_url': 'https://avatars1.githubusercontent.com/u/49922?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/miohtama', 'html_url': 'https://github.com/miohtama', 'followers_url': 'https://api.github.com/users/miohtama/followers', 'following_url': 'https://api.github.com/users/miohtama/following{/other_user}', 'gists_url': 'https://api.github.com/users/miohtama/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/miohtama/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/miohtama/subscriptions', 'organizations_url': 'https://api.github.com/users/miohtama/orgs', 'repos_url': 'https://api.github.com/users/miohtama/repos', 'events_url': 'https://api.github.com/users/miohtama/events{/privacy}', 'received_events_url': 'https://api.github.com/users/miohtama/received_events', 'type': 'User', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 0, 'created_at': '2018-12-14T11:22:57Z', 'updated_at': '2018-12-14T11:22:57Z', 'closed_at': None, 'author_association': 'CONTRIBUTOR', 'body': '## Abstract\r\n\r\n``solc`` could generate flattened sol source code in output JSON.\r\n\r\n## Motivation\r\n\r\nA flattened source code, all includes eliminated and having source in a single file, is needed for source code verification (reproducible builds). The most common venue is EtherScan and public verification.\r\n\r\nCurrently there are third party tools doing this - see ( https://github.com/BlockCatIO/solidity-flattener and https://github.com/nomiclabs/truffle-flattener ). However the add extra complexity to the toolchain, as the natural place to to produce the flattened source code would be the compiler itself as the compiler know from where it has assembled the source code files. For non-trivial source code tree doing a flattened version of a contract tends to be a labour intensive process.\r\n\r\n## Specification\r\n\r\nIn Input Description, include new `outputSelection` option `source`. This will procude matching `source` item in `contracts` section.\r\n\r\n## Backwards Compatibility\r\n\r\nAs this is additional change to the compiler output, I do not see it should cause \r\n\r\n## Earlier discussion\r\n\r\nhttps://github.com/ethereum/solidity/issues/2620\r\n\r\nhttps://github.com/ethereum/solidity/issues/611'}}, 'public': True, 'created_at': '2018-12-14T11:22:58Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754349538', 'type': 'PushEvent', 'actor': {'id': 504195, 'login': 'leonardoalt', 'display_login': 'leonardoalt', 'gravatar_id': '', 'url': 'https://api.github.com/users/leonardoalt', 'avatar_url': 'https://avatars.githubusercontent.com/u/504195?'}, 'repo': {'id': 40892817, 'name': 'ethereum/solidity', 'url': 'https://api.github.com/repos/ethereum/solidity'}, 'payload': {'push_id': 3137588967, 'size': 6, 'distinct_size': 2, 'ref': 'refs/heads/smt_mapping', 'head': '9199718ec0aa1210094ceb9ca587fe49fba70518', 'before': '31e47d961b2f9e3fa0b894c258a337cc6bb7b288', 'commits': [{'sha': '11209ec48a3581419ebfa4764669c2a128f1b997', 'author': {'email': '[email protected]', 'name': 'chriseth'}, 'message': 'Add variable declaration initializer.', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/solidity/commits/11209ec48a3581419ebfa4764669c2a128f1b997'}, {'sha': '6c6a53a439de11ebae0b09d8a18c30018b3d89b4', 'author': {'email': '[email protected]', 'name': 'chriseth'}, 'message': 'Do not create unassigned variables.', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/solidity/commits/6c6a53a439de11ebae0b09d8a18c30018b3d89b4'}, {'sha': 'bc22a25a603296a0f40a4df75287b6d2f51ed4ac', 'author': {'email': '[email protected]', 'name': 'chriseth'}, 'message': 'Remove VarDeclPropagator.', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/solidity/commits/bc22a25a603296a0f40a4df75287b6d2f51ed4ac'}, {'sha': '8d3617b7c522d74bcc36a1fbc1eb7c16bf96ad4d', 'author': {'email': '[email protected]', 'name': 'chriseth'}, 'message': 'Merge pull request #5655 from ethereum/removeUnassignedVarDefs\n\nAdd variable declaration initializer.', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/solidity/commits/8d3617b7c522d74bcc36a1fbc1eb7c16bf96ad4d'}, {'sha': '6a2809a582d95a5b4cb52abeb3f92ed01857809b', 'author': {'email': '[email protected]', 'name': 'Leonardo Alt'}, 'message': '[SMTChecker] Support to mapping', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/solidity/commits/6a2809a582d95a5b4cb52abeb3f92ed01857809b'}, {'sha': '9199718ec0aa1210094ceb9ca587fe49fba70518', 'author': {'email': '[email protected]', 'name': 'Leonardo Alt'}, 'message': 'Clear all mapping knowledge after array variable assignment', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/solidity/commits/9199718ec0aa1210094ceb9ca587fe49fba70518'}]}, 'public': True, 'created_at': '2018-12-14T11:22:03Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754343870', 'type': 'PushEvent', 'actor': {'id': 142290, 'login': 'holiman', 'display_login': 'holiman', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'avatar_url': 'https://avatars.githubusercontent.com/u/142290?'}, 'repo': {'id': 62554553, 'name': 'ethereum/hive', 'url': 'https://api.github.com/repos/ethereum/hive'}, 'payload': {'push_id': 3137586095, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/master', 'head': 'c4e0f6f899286f4e0cef7490a1a4fda6fead5522', 'before': 'd2df38bfabb35bdc4f13a1afd2f6c05528fd6982', 'commits': [{'sha': 'c4e0f6f899286f4e0cef7490a1a4fda6fead5522', 'author': {'email': '[email protected]', 'name': 'Martin Holst Swende'}, 'message': 'Make extra container for copying easier to avoid (#162)', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/hive/commits/c4e0f6f899286f4e0cef7490a1a4fda6fead5522'}]}, 'public': True, 'created_at': '2018-12-14T11:20:52Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754343776', 'type': 'PullRequestEvent', 'actor': {'id': 142290, 'login': 'holiman', 'display_login': 'holiman', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'avatar_url': 'https://avatars.githubusercontent.com/u/142290?'}, 'repo': {'id': 62554553, 'name': 'ethereum/hive', 'url': 'https://api.github.com/repos/ethereum/hive'}, 'payload': {'action': 'closed', 'number': 162, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/hive/pulls/162', 'id': 238676283, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM4Njc2Mjgz', 'html_url': 'https://github.com/ethereum/hive/pull/162', 'diff_url': 'https://github.com/ethereum/hive/pull/162.diff', 'patch_url': 'https://github.com/ethereum/hive/pull/162.patch', 'issue_url': 'https://api.github.com/repos/ethereum/hive/issues/162', 'number': 162, 'state': 'closed', 'locked': False, 'title': 'Make extra container for copying easier to avoid', 'user': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'body': 'Skips some container-interaction when a path is `ignore`, also fixes the copy-from-template to at least not be obviously br0ken', 'created_at': '2018-12-14T10:31:09Z', 'updated_at': '2018-12-14T11:20:51Z', 'closed_at': '2018-12-14T11:20:51Z', 'merged_at': '2018-12-14T11:20:51Z', 'merge_commit_sha': 'c4e0f6f899286f4e0cef7490a1a4fda6fead5522', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/hive/pulls/162/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/hive/pulls/162/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/hive/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/hive/issues/162/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/hive/statuses/34344edd861be9c7d28e66ebe7513baa82e8918f', 'head': {'label': 'holiman:extracontainer', 'ref': 'extracontainer', 'sha': '34344edd861be9c7d28e66ebe7513baa82e8918f', 'user': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'repo': {'id': 71807795, 'node_id': 'MDEwOlJlcG9zaXRvcnk3MTgwNzc5NQ==', 'name': 'hive', 'full_name': 'holiman/hive', 'private': False, 'owner': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/holiman/hive', 'description': 'Ethereum end-to-end test harness', 'fork': True, 'url': 'https://api.github.com/repos/holiman/hive', 'forks_url': 'https://api.github.com/repos/holiman/hive/forks', 'keys_url': 'https://api.github.com/repos/holiman/hive/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/holiman/hive/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/holiman/hive/teams', 'hooks_url': 'https://api.github.com/repos/holiman/hive/hooks', 'issue_events_url': 'https://api.github.com/repos/holiman/hive/issues/events{/number}', 'events_url': 'https://api.github.com/repos/holiman/hive/events', 'assignees_url': 'https://api.github.com/repos/holiman/hive/assignees{/user}', 'branches_url': 'https://api.github.com/repos/holiman/hive/branches{/branch}', 'tags_url': 'https://api.github.com/repos/holiman/hive/tags', 'blobs_url': 'https://api.github.com/repos/holiman/hive/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/holiman/hive/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/holiman/hive/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/holiman/hive/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/holiman/hive/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/holiman/hive/languages', 'stargazers_url': 'https://api.github.com/repos/holiman/hive/stargazers', 'contributors_url': 'https://api.github.com/repos/holiman/hive/contributors', 'subscribers_url': 'https://api.github.com/repos/holiman/hive/subscribers', 'subscription_url': 'https://api.github.com/repos/holiman/hive/subscription', 'commits_url': 'https://api.github.com/repos/holiman/hive/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/holiman/hive/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/holiman/hive/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/holiman/hive/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/holiman/hive/contents/{+path}', 'compare_url': 'https://api.github.com/repos/holiman/hive/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/holiman/hive/merges', 'archive_url': 'https://api.github.com/repos/holiman/hive/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/holiman/hive/downloads', 'issues_url': 'https://api.github.com/repos/holiman/hive/issues{/number}', 'pulls_url': 'https://api.github.com/repos/holiman/hive/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/holiman/hive/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/holiman/hive/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/holiman/hive/labels{/name}', 'releases_url': 'https://api.github.com/repos/holiman/hive/releases{/id}', 'deployments_url': 'https://api.github.com/repos/holiman/hive/deployments', 'created_at': '2016-10-24T16:18:24Z', 'updated_at': '2018-12-04T12:55:16Z', 'pushed_at': '2018-12-14T10:29:59Z', 'git_url': 'git://github.com/holiman/hive.git', 'ssh_url': '[email protected]:holiman/hive.git', 'clone_url': 'https://github.com/holiman/hive.git', 'svn_url': 'https://github.com/holiman/hive', 'homepage': None, 'size': 8359, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'Go', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'open_issues_count': 0, 'license': {'key': 'gpl-3.0', 'name': 'GNU General Public License v3.0', 'spdx_id': 'GPL-3.0', 'url': 'https://api.github.com/licenses/gpl-3.0', 'node_id': 'MDc6TGljZW5zZTk='}, 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master'}}, 'base': {'label': 'ethereum:master', 'ref': 'master', 'sha': 'd2df38bfabb35bdc4f13a1afd2f6c05528fd6982', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 62554553, 'node_id': 'MDEwOlJlcG9zaXRvcnk2MjU1NDU1Mw==', 'name': 'hive', 'full_name': 'ethereum/hive', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/hive', 'description': 'Ethereum end-to-end test harness', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/hive', 'forks_url': 'https://api.github.com/repos/ethereum/hive/forks', 'keys_url': 'https://api.github.com/repos/ethereum/hive/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/hive/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/hive/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/hive/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/hive/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/hive/events', 'assignees_url': 'https://api.github.com/repos/ethereum/hive/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/hive/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/hive/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/hive/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/hive/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/hive/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/hive/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/hive/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/hive/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/hive/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/hive/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/hive/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/hive/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/hive/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/hive/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/hive/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/hive/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/hive/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/hive/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/hive/merges', 'archive_url': 'https://api.github.com/repos/ethereum/hive/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/hive/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/hive/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/hive/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/hive/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/hive/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/hive/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/hive/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/hive/deployments', 'created_at': '2016-07-04T10:41:07Z', 'updated_at': '2018-12-10T10:30:53Z', 'pushed_at': '2018-12-14T11:20:51Z', 'git_url': 'git://github.com/ethereum/hive.git', 'ssh_url': '[email protected]:ethereum/hive.git', 'clone_url': 'https://github.com/ethereum/hive.git', 'svn_url': 'https://github.com/ethereum/hive', 'homepage': None, 'size': 8374, 'stargazers_count': 96, 'watchers_count': 96, 'language': 'Go', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 36, 'mirror_url': None, 'archived': False, 'open_issues_count': 24, 'license': {'key': 'gpl-3.0', 'name': 'GNU General Public License v3.0', 'spdx_id': 'GPL-3.0', 'url': 'https://api.github.com/licenses/gpl-3.0', 'node_id': 'MDc6TGljZW5zZTk='}, 'forks': 36, 'open_issues': 24, 'watchers': 96, 'default_branch': 'master'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/hive/pulls/162'}, 'html': {'href': 'https://github.com/ethereum/hive/pull/162'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/hive/issues/162'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/hive/issues/162/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/hive/pulls/162/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/hive/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/hive/pulls/162/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/hive/statuses/34344edd861be9c7d28e66ebe7513baa82e8918f'}}, 'author_association': 'COLLABORATOR', 'merged': True, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': False, 'commits': 1, 'additions': 4, 'deletions': 1, 'changed_files': 1}}, 'public': True, 'created_at': '2018-12-14T11:20:51Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754335842', 'type': 'WatchEvent', 'actor': {'id': 679887, 'login': 'hkk', 'display_login': 'hkk', 'gravatar_id': '', 'url': 'https://api.github.com/users/hkk', 'avatar_url': 'https://avatars.githubusercontent.com/u/679887?'}, 'repo': {'id': 73461676, 'name': 'ethereum/vyper', 'url': 'https://api.github.com/repos/ethereum/vyper'}, 'payload': {'action': 'started'}, 'public': True, 'created_at': '2018-12-14T11:19:11Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754329096', 'type': 'WatchEvent', 'actor': {'id': 15720036, 'login': 'kyledewy', 'display_login': 'kyledewy', 'gravatar_id': '', 'url': 'https://api.github.com/users/kyledewy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15720036?'}, 'repo': {'id': 147572521, 'name': 'ethereum/pytest-ethereum', 'url': 'https://api.github.com/repos/ethereum/pytest-ethereum'}, 'payload': {'action': 'started'}, 'public': True, 'created_at': '2018-12-14T11:17:45Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754303327', 'type': 'ForkEvent', 'actor': {'id': 10967038, 'login': 'racmnet', 'display_login': 'racmnet', 'gravatar_id': '', 'url': 'https://api.github.com/users/racmnet', 'avatar_url': 'https://avatars.githubusercontent.com/u/10967038?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'forkee': {'id': 161773980, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjE3NzM5ODA=', 'name': 'go-ethereum', 'full_name': 'racmnet/go-ethereum', 'private': False, 'owner': {'login': 'racmnet', 'id': 10967038, 'node_id': 'MDQ6VXNlcjEwOTY3MDM4', 'avatar_url': 'https://avatars1.githubusercontent.com/u/10967038?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/racmnet', 'html_url': 'https://github.com/racmnet', 'followers_url': 'https://api.github.com/users/racmnet/followers', 'following_url': 'https://api.github.com/users/racmnet/following{/other_user}', 'gists_url': 'https://api.github.com/users/racmnet/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/racmnet/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/racmnet/subscriptions', 'organizations_url': 'https://api.github.com/users/racmnet/orgs', 'repos_url': 'https://api.github.com/users/racmnet/repos', 'events_url': 'https://api.github.com/users/racmnet/events{/privacy}', 'received_events_url': 'https://api.github.com/users/racmnet/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/racmnet/go-ethereum', 'description': 'Official Go implementation of the Ethereum protocol', 'fork': True, 'url': 'https://api.github.com/repos/racmnet/go-ethereum', 'forks_url': 'https://api.github.com/repos/racmnet/go-ethereum/forks', 'keys_url': 'https://api.github.com/repos/racmnet/go-ethereum/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/racmnet/go-ethereum/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/racmnet/go-ethereum/teams', 'hooks_url': 'https://api.github.com/repos/racmnet/go-ethereum/hooks', 'issue_events_url': 'https://api.github.com/repos/racmnet/go-ethereum/issues/events{/number}', 'events_url': 'https://api.github.com/repos/racmnet/go-ethereum/events', 'assignees_url': 'https://api.github.com/repos/racmnet/go-ethereum/assignees{/user}', 'branches_url': 'https://api.github.com/repos/racmnet/go-ethereum/branches{/branch}', 'tags_url': 'https://api.github.com/repos/racmnet/go-ethereum/tags', 'blobs_url': 'https://api.github.com/repos/racmnet/go-ethereum/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/racmnet/go-ethereum/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/racmnet/go-ethereum/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/racmnet/go-ethereum/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/racmnet/go-ethereum/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/racmnet/go-ethereum/languages', 'stargazers_url': 'https://api.github.com/repos/racmnet/go-ethereum/stargazers', 'contributors_url': 'https://api.github.com/repos/racmnet/go-ethereum/contributors', 'subscribers_url': 'https://api.github.com/repos/racmnet/go-ethereum/subscribers', 'subscription_url': 'https://api.github.com/repos/racmnet/go-ethereum/subscription', 'commits_url': 'https://api.github.com/repos/racmnet/go-ethereum/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/racmnet/go-ethereum/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/racmnet/go-ethereum/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/racmnet/go-ethereum/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/racmnet/go-ethereum/contents/{+path}', 'compare_url': 'https://api.github.com/repos/racmnet/go-ethereum/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/racmnet/go-ethereum/merges', 'archive_url': 'https://api.github.com/repos/racmnet/go-ethereum/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/racmnet/go-ethereum/downloads', 'issues_url': 'https://api.github.com/repos/racmnet/go-ethereum/issues{/number}', 'pulls_url': 'https://api.github.com/repos/racmnet/go-ethereum/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/racmnet/go-ethereum/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/racmnet/go-ethereum/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/racmnet/go-ethereum/labels{/name}', 'releases_url': 'https://api.github.com/repos/racmnet/go-ethereum/releases{/id}', 'deployments_url': 'https://api.github.com/repos/racmnet/go-ethereum/deployments', 'created_at': '2018-12-14T11:12:27Z', 'updated_at': '2018-12-14T10:47:12Z', 'pushed_at': '2018-12-14T10:15:32Z', 'git_url': 'git://github.com/racmnet/go-ethereum.git', 'ssh_url': '[email protected]:racmnet/go-ethereum.git', 'clone_url': 'https://github.com/racmnet/go-ethereum.git', 'svn_url': 'https://github.com/racmnet/go-ethereum', 'homepage': 'https://geth.ethereum.org', 'size': 107637, 'stargazers_count': 0, 'watchers_count': 0, 'language': None, 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'open_issues_count': 0, 'license': None, 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'public': True}}, 'public': True, 'created_at': '2018-12-14T11:12:27Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754303002', 'type': 'WatchEvent', 'actor': {'id': 10967038, 'login': 'racmnet', 'display_login': 'racmnet', 'gravatar_id': '', 'url': 'https://api.github.com/users/racmnet', 'avatar_url': 'https://avatars.githubusercontent.com/u/10967038?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'action': 'started'}, 'public': True, 'created_at': '2018-12-14T11:12:23Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754268209', 'type': 'WatchEvent', 'actor': {'id': 1172733, 'login': 'toannk', 'display_login': 'toannk', 'gravatar_id': '', 'url': 'https://api.github.com/users/toannk', 'avatar_url': 'https://avatars.githubusercontent.com/u/1172733?'}, 'repo': {'id': 40892817, 'name': 'ethereum/solidity', 'url': 'https://api.github.com/repos/ethereum/solidity'}, 'payload': {'action': 'started'}, 'public': True, 'created_at': '2018-12-14T11:05:24Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754240410', 'type': 'IssueCommentEvent', 'actor': {'id': 4943570, 'login': 'b00ris', 'display_login': 'b00ris', 'gravatar_id': '', 'url': 'https://api.github.com/users/b00ris', 'avatar_url': 'https://avatars.githubusercontent.com/u/4943570?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/16904', 'repository_url': 'https://api.github.com/repos/ethereum/go-ethereum', 'labels_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/16904/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/16904/comments', 'events_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/16904/events', 'html_url': 'https://github.com/ethereum/go-ethereum/pull/16904', 'id': 329621626, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MTkyODMzNzU4', 'number': 16904, 'title': 'les: implement ulc', 'user': {'login': 'b00ris', 'id': 4943570, 'node_id': 'MDQ6VXNlcjQ5NDM1NzA=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/4943570?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/b00ris', 'html_url': 'https://github.com/b00ris', 'followers_url': 'https://api.github.com/users/b00ris/followers', 'following_url': 'https://api.github.com/users/b00ris/following{/other_user}', 'gists_url': 'https://api.github.com/users/b00ris/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/b00ris/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/b00ris/subscriptions', 'organizations_url': 'https://api.github.com/users/b00ris/orgs', 'repos_url': 'https://api.github.com/users/b00ris/repos', 'events_url': 'https://api.github.com/users/b00ris/events{/privacy}', 'received_events_url': 'https://api.github.com/users/b00ris/received_events', 'type': 'User', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': {'login': 'zsfelfoldi', 'id': 9884311, 'node_id': 'MDQ6VXNlcjk4ODQzMTE=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/9884311?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/zsfelfoldi', 'html_url': 'https://github.com/zsfelfoldi', 'followers_url': 'https://api.github.com/users/zsfelfoldi/followers', 'following_url': 'https://api.github.com/users/zsfelfoldi/following{/other_user}', 'gists_url': 'https://api.github.com/users/zsfelfoldi/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/zsfelfoldi/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/zsfelfoldi/subscriptions', 'organizations_url': 'https://api.github.com/users/zsfelfoldi/orgs', 'repos_url': 'https://api.github.com/users/zsfelfoldi/repos', 'events_url': 'https://api.github.com/users/zsfelfoldi/events{/privacy}', 'received_events_url': 'https://api.github.com/users/zsfelfoldi/received_events', 'type': 'User', 'site_admin': False}, 'assignees': [{'login': 'zsfelfoldi', 'id': 9884311, 'node_id': 'MDQ6VXNlcjk4ODQzMTE=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/9884311?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/zsfelfoldi', 'html_url': 'https://github.com/zsfelfoldi', 'followers_url': 'https://api.github.com/users/zsfelfoldi/followers', 'following_url': 'https://api.github.com/users/zsfelfoldi/following{/other_user}', 'gists_url': 'https://api.github.com/users/zsfelfoldi/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/zsfelfoldi/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/zsfelfoldi/subscriptions', 'organizations_url': 'https://api.github.com/users/zsfelfoldi/orgs', 'repos_url': 'https://api.github.com/users/zsfelfoldi/repos', 'events_url': 'https://api.github.com/users/zsfelfoldi/events{/privacy}', 'received_events_url': 'https://api.github.com/users/zsfelfoldi/received_events', 'type': 'User', 'site_admin': False}], 'milestone': None, 'comments': 23, 'created_at': '2018-06-05T20:56:18Z', 'updated_at': '2018-12-14T11:00:05Z', 'closed_at': None, 'author_association': 'CONTRIBUTOR', 'pull_request': {'url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/16904', 'html_url': 'https://github.com/ethereum/go-ethereum/pull/16904', 'diff_url': 'https://github.com/ethereum/go-ethereum/pull/16904.diff', 'patch_url': 'https://github.com/ethereum/go-ethereum/pull/16904.patch'}, 'body': 'Implements ultra light client feature.\r\nhttps://github.com/zsfelfoldi/ethereum-docs/blob/master/les/tasks/ulc.txt\r\nMore information about ULC https://hackmd.io/s/HJy7jjZpm'}, 'comment': {'url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/comments/447291395', 'html_url': 'https://github.com/ethereum/go-ethereum/pull/16904#issuecomment-447291395', 'issue_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/16904', 'id': 447291395, 'node_id': 'MDEyOklzc3VlQ29tbWVudDQ0NzI5MTM5NQ==', 'user': {'login': 'b00ris', 'id': 4943570, 'node_id': 'MDQ6VXNlcjQ5NDM1NzA=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/4943570?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/b00ris', 'html_url': 'https://github.com/b00ris', 'followers_url': 'https://api.github.com/users/b00ris/followers', 'following_url': 'https://api.github.com/users/b00ris/following{/other_user}', 'gists_url': 'https://api.github.com/users/b00ris/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/b00ris/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/b00ris/subscriptions', 'organizations_url': 'https://api.github.com/users/b00ris/orgs', 'repos_url': 'https://api.github.com/users/b00ris/repos', 'events_url': 'https://api.github.com/users/b00ris/events{/privacy}', 'received_events_url': 'https://api.github.com/users/b00ris/received_events', 'type': 'User', 'site_admin': False}, 'created_at': '2018-12-14T11:00:05Z', 'updated_at': '2018-12-14T11:00:05Z', 'author_association': 'CONTRIBUTOR', 'body': '@zsfelfoldi @karalabe :('}}, 'public': True, 'created_at': '2018-12-14T11:00:05Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754230101', 'type': 'PushEvent', 'actor': {'id': 47108, 'login': 'evertonfraga', 'display_login': 'evertonfraga', 'gravatar_id': '', 'url': 'https://api.github.com/users/evertonfraga', 'avatar_url': 'https://avatars.githubusercontent.com/u/47108?'}, 'repo': {'id': 152745337, 'name': 'ethereum/mist-shell', 'url': 'https://api.github.com/repos/ethereum/mist-shell'}, 'payload': {'push_id': 3137526125, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/circleci-mac', 'head': '5ff2793cc6d8b3671d41a99c033b64e475e1c36f', 'before': '1683c108885da84f8b81b3669b6e40e9111e147b', 'commits': [{'sha': '5ff2793cc6d8b3671d41a99c033b64e475e1c36f', 'author': {'email': '[email protected]', 'name': 'Everton Fraga'}, 'message': 'CI: fix windows flag', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/mist-shell/commits/5ff2793cc6d8b3671d41a99c033b64e475e1c36f'}]}, 'public': True, 'created_at': '2018-12-14T10:58:07Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754229905', 'type': 'PullRequestReviewCommentEvent', 'actor': {'id': 521109, 'login': 'cburgdorf', 'display_login': 'cburgdorf', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'avatar_url': 'https://avatars.githubusercontent.com/u/521109?'}, 'repo': {'id': 77478378, 'name': 'ethereum/py-evm', 'url': 'https://api.github.com/repos/ethereum/py-evm'}, 'payload': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments/241716868', 'pull_request_review_id': 185059651, 'id': 241716868, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MTcxNjg2OA==', 'diff_hunk': '@@ -0,0 +1,151 @@\n+from argparse import (\n+    ArgumentParser,\n+    _SubParsersAction,\n+)\n+import asyncio\n+\n+from eth_typing import (\n+    BlockNumber,\n+)\n+from lahja import (\n+    Endpoint,\n+)\n+\n+from eth.constants import (\n+    GENESIS_BLOCK_NUMBER\n+)\n+\n+from p2p.discovery import (\n+    get_v5_topic,\n+    DiscoveryByTopicProtocol,\n+    PreferredNodeDiscoveryProtocol,\n+)\n+from p2p.kademlia import (\n+    Address,\n+)\n+from p2p.protocol import (\n+    Protocol,\n+)\n+from p2p.service import (\n+    BaseService,\n+)\n+\n+from trinity.config import (\n+    TrinityBeaconConfig,\n+    TrinityConfig,\n+)\n+from trinity.db.manager import (\n+    create_db_manager\n+)\n+from trinity.extensibility import (\n+    BaseIsolatedPlugin,\n+)\n+from trinity.protocol.bcc.proto import (\n+    BCCProtocol,\n+)\n+from trinity.protocol.eth.proto import (\n+    ETHProtocol,\n+)\n+from trinity.protocol.les.proto import (\n+    LESProtocolV2,\n+)\n+from trinity.utils.shutdown import (\n+    exit_with_service_and_endpoint,\n+)\n+from .discovery_service import (\n+    DiscoveryService,\n+)\n+\n+\n+def get_protocol(trinity_config: TrinityConfig) -> Protocol:\n+    # For now DiscoveryByTopicProtocol supports a single topic, so we use the latest\n+    # version of our supported protocols. Maybe this could be more generic?\n+    if isinstance(trinity_config, TrinityBeaconConfig):\n+        return BCCProtocol\n+    elif trinity_config.is_light_mode:\n+        return LESProtocolV2\n+    else:\n+        return ETHProtocol\n+\n+\n+def get_discv5_topic(trinity_config: TrinityConfig, protocol: Protocol):\n+    db_manager = create_db_manager(trinity_config.database_ipc_path)\n+    db_manager.connect()\n+\n+    header_db = db_manager.get_headerdb()\n+    genesis_hash = header_db.get_canonical_block_hash(BlockNumber(GENESIS_BLOCK_NUMBER))\n+\n+    return get_v5_topic(protocol, genesis_hash)\n+\n+\n+class DiscoveryBootstrapService(BaseService):\n+    """\n+    Bootstrap discovery to provide a parent ``CancellationToken``\n+    """\n+\n+    def __init__(self, event_bus: Endpoint, trinity_config: TrinityConfig) -> None:\n+        super().__init__()\n+        self.event_bus = event_bus\n+        self.trinity_config = trinity_config\n+\n+    async def _run(self) -> None:\n+        external_ip = "0.0.0.0"', 'path': 'trinity/plugins/builtin/peer_discovery/plugin.py', 'position': 96, 'original_position': 92, 'commit_id': '3941165c9802e5cc114bc4befaacea0a149c4af5', 'original_commit_id': '26c08f3b97fb36a428b2872da34d321c589415e8', 'user': {'login': 'cburgdorf', 'id': 521109, 'node_id': 'MDQ6VXNlcjUyMTEwOQ==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/521109?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'html_url': 'https://github.com/cburgdorf', 'followers_url': 'https://api.github.com/users/cburgdorf/followers', 'following_url': 'https://api.github.com/users/cburgdorf/following{/other_user}', 'gists_url': 'https://api.github.com/users/cburgdorf/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cburgdorf/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cburgdorf/subscriptions', 'organizations_url': 'https://api.github.com/users/cburgdorf/orgs', 'repos_url': 'https://api.github.com/users/cburgdorf/repos', 'events_url': 'https://api.github.com/users/cburgdorf/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cburgdorf/received_events', 'type': 'User', 'site_admin': False}, 'body': "@carver do you prefer to keep this open until you have tried this on your upnp network? I also think we should move the UpnpService in an isolated plugin as well and then we can also put back that first external ip lookup. I don't think that service does much right now though. Apart from the initial lookup of the external ip, it is supposed to continuously provide a port mapping but I don't see how that would be used anywhere. ", 'created_at': '2018-12-14T10:58:04Z', 'updated_at': '2018-12-14T10:58:04Z', 'html_url': 'https://github.com/ethereum/py-evm/pull/1556#discussion_r241716868', 'pull_request_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1556', 'author_association': 'CONTRIBUTOR', '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments/241716868'}, 'html': {'href': 'https://github.com/ethereum/py-evm/pull/1556#discussion_r241716868'}, 'pull_request': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1556'}}, 'in_reply_to_id': 240018196}, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1556', 'id': 236562386, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM2NTYyMzg2', 'html_url': 'https://github.com/ethereum/py-evm/pull/1556', 'diff_url': 'https://github.com/ethereum/py-evm/pull/1556.diff', 'patch_url': 'https://github.com/ethereum/py-evm/pull/1556.patch', 'issue_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1556', 'number': 1556, 'state': 'open', 'locked': False, 'title': 'Move peer discovery into an isolated plugin', 'user': {'login': 'cburgdorf', 'id': 521109, 'node_id': 'MDQ6VXNlcjUyMTEwOQ==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/521109?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'html_url': 'https://github.com/cburgdorf', 'followers_url': 'https://api.github.com/users/cburgdorf/followers', 'following_url': 'https://api.github.com/users/cburgdorf/following{/other_user}', 'gists_url': 'https://api.github.com/users/cburgdorf/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cburgdorf/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cburgdorf/subscriptions', 'organizations_url': 'https://api.github.com/users/cburgdorf/orgs', 'repos_url': 'https://api.github.com/users/cburgdorf/repos', 'events_url': 'https://api.github.com/users/cburgdorf/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cburgdorf/received_events', 'type': 'User', 'site_admin': False}, 'body': "### What was wrong?\r\n\r\nCurrently the peer discovery runs in the networking process among a lot of other things. Moving it into an isolated plugin should:\r\n\r\n- increase efficiency of syncing as the peer discovery probably takes a fair share of computing power\r\n- increase decoupling as it breaks up the networking code into smaller pieces \r\n- improve reusability as the new discovery can be accessed from any other interested party since it is integrated with the event bus \r\n\r\n### How was it fixed?\r\n\r\n- inverted the model in the `DiscoveryService` so that it doesn't know about the `PeerPool` and instead just exposes an API for consumers to request peer candidates from\r\n- the API is exposed over the EventBus so that it can be requested from any other process\r\n- created an isolated plugin to run the new discovery service in a separate process\r\n- removed discovery code from the server where it previously lived\r\n\r\n#### Cute Animal Picture\r\n\r\n![put a cute animal picture link inside the parentheses](https://pixnio.com/free-images/2018/10/03/2018-10-03-04-24-27.jpg)\r\n", 'created_at': '2018-12-06T15:07:31Z', 'updated_at': '2018-12-14T10:58:04Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '1109d6a894e45d55286f76f9ab28804a1a0c0e70', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [{'id': 630871768, 'node_id': 'MDU6TGFiZWw2MzA4NzE3Njg=', 'url': 'https://api.github.com/repos/ethereum/py-evm/labels/PR%20state:%20WIP', 'name': 'PR state: WIP', 'color': 'fbca04', 'default': False}, {'id': 983621026, 'node_id': 'MDU6TGFiZWw5ODM2MjEwMjY=', 'url': 'https://api.github.com/repos/ethereum/py-evm/labels/PR%20state:%20blocked', 'name': 'PR state: blocked', 'color': 'e99695', 'default': False}], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1556/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1556/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1556/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/py-evm/statuses/3941165c9802e5cc114bc4befaacea0a149c4af5', 'head': {'label': 'cburgdorf:christoph/feat/discovery-plugin', 'ref': 'christoph/feat/discovery-plugin', 'sha': '3941165c9802e5cc114bc4befaacea0a149c4af5', 'user': {'login': 'cburgdorf', 'id': 521109, 'node_id': 'MDQ6VXNlcjUyMTEwOQ==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/521109?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'html_url': 'https://github.com/cburgdorf', 'followers_url': 'https://api.github.com/users/cburgdorf/followers', 'following_url': 'https://api.github.com/users/cburgdorf/following{/other_user}', 'gists_url': 'https://api.github.com/users/cburgdorf/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cburgdorf/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cburgdorf/subscriptions', 'organizations_url': 'https://api.github.com/users/cburgdorf/orgs', 'repos_url': 'https://api.github.com/users/cburgdorf/repos', 'events_url': 'https://api.github.com/users/cburgdorf/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cburgdorf/received_events', 'type': 'User', 'site_admin': False}, 'repo': {'id': 122467896, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMjI0Njc4OTY=', 'name': 'py-evm', 'full_name': 'cburgdorf/py-evm', 'private': False, 'owner': {'login': 'cburgdorf', 'id': 521109, 'node_id': 'MDQ6VXNlcjUyMTEwOQ==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/521109?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'html_url': 'https://github.com/cburgdorf', 'followers_url': 'https://api.github.com/users/cburgdorf/followers', 'following_url': 'https://api.github.com/users/cburgdorf/following{/other_user}', 'gists_url': 'https://api.github.com/users/cburgdorf/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cburgdorf/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cburgdorf/subscriptions', 'organizations_url': 'https://api.github.com/users/cburgdorf/orgs', 'repos_url': 'https://api.github.com/users/cburgdorf/repos', 'events_url': 'https://api.github.com/users/cburgdorf/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cburgdorf/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/cburgdorf/py-evm', 'description': 'A Python implementation of the Ethereum Virtual Machine', 'fork': True, 'url': 'https://api.github.com/repos/cburgdorf/py-evm', 'forks_url': 'https://api.github.com/repos/cburgdorf/py-evm/forks', 'keys_url': 'https://api.github.com/repos/cburgdorf/py-evm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/cburgdorf/py-evm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/cburgdorf/py-evm/teams', 'hooks_url': 'https://api.github.com/repos/cburgdorf/py-evm/hooks', 'issue_events_url': 'https://api.github.com/repos/cburgdorf/py-evm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/cburgdorf/py-evm/events', 'assignees_url': 'https://api.github.com/repos/cburgdorf/py-evm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/cburgdorf/py-evm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/cburgdorf/py-evm/tags', 'blobs_url': 'https://api.github.com/repos/cburgdorf/py-evm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/cburgdorf/py-evm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/cburgdorf/py-evm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/cburgdorf/py-evm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/cburgdorf/py-evm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/cburgdorf/py-evm/languages', 'stargazers_url': 'https://api.github.com/repos/cburgdorf/py-evm/stargazers', 'contributors_url': 'https://api.github.com/repos/cburgdorf/py-evm/contributors', 'subscribers_url': 'https://api.github.com/repos/cburgdorf/py-evm/subscribers', 'subscription_url': 'https://api.github.com/repos/cburgdorf/py-evm/subscription', 'commits_url': 'https://api.github.com/repos/cburgdorf/py-evm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/cburgdorf/py-evm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/cburgdorf/py-evm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/cburgdorf/py-evm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/cburgdorf/py-evm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/cburgdorf/py-evm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/cburgdorf/py-evm/merges', 'archive_url': 'https://api.github.com/repos/cburgdorf/py-evm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/cburgdorf/py-evm/downloads', 'issues_url': 'https://api.github.com/repos/cburgdorf/py-evm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/cburgdorf/py-evm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/cburgdorf/py-evm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/cburgdorf/py-evm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/cburgdorf/py-evm/labels{/name}', 'releases_url': 'https://api.github.com/repos/cburgdorf/py-evm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/cburgdorf/py-evm/deployments', 'created_at': '2018-02-22T11:07:50Z', 'updated_at': '2018-03-28T15:01:32Z', 'pushed_at': '2018-12-14T10:23:32Z', 'git_url': 'git://github.com/cburgdorf/py-evm.git', 'ssh_url': '[email protected]:cburgdorf/py-evm.git', 'clone_url': 'https://github.com/cburgdorf/py-evm.git', 'svn_url': 'https://github.com/cburgdorf/py-evm', 'homepage': 'http://py-evm.readthedocs.io/en/latest/', 'size': 8304, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'Python', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'open_issues_count': 1, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'forks': 0, 'open_issues': 1, 'watchers': 0, 'default_branch': 'master'}}, 'base': {'label': 'ethereum:master', 'ref': 'master', 'sha': '0b0b6ecf5b8700c33d4fb9603a3ec4a8d1cad771', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 77478378, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NzQ3ODM3OA==', 'name': 'py-evm', 'full_name': 'ethereum/py-evm', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/py-evm', 'description': 'A Python implementation of the Ethereum Virtual Machine', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/py-evm', 'forks_url': 'https://api.github.com/repos/ethereum/py-evm/forks', 'keys_url': 'https://api.github.com/repos/ethereum/py-evm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/py-evm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/py-evm/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/py-evm/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/py-evm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/py-evm/events', 'assignees_url': 'https://api.github.com/repos/ethereum/py-evm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/py-evm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/py-evm/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/py-evm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/py-evm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/py-evm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/py-evm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/py-evm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/py-evm/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/py-evm/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/py-evm/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/py-evm/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/py-evm/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/py-evm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/py-evm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/py-evm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/py-evm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/py-evm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/py-evm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/py-evm/merges', 'archive_url': 'https://api.github.com/repos/ethereum/py-evm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/py-evm/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/py-evm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/py-evm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/py-evm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/py-evm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/py-evm/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/py-evm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/py-evm/deployments', 'created_at': '2016-12-27T19:36:00Z', 'updated_at': '2018-12-14T10:06:03Z', 'pushed_at': '2018-12-14T10:23:34Z', 'git_url': 'git://github.com/ethereum/py-evm.git', 'ssh_url': '[email protected]:ethereum/py-evm.git', 'clone_url': 'https://github.com/ethereum/py-evm.git', 'svn_url': 'https://github.com/ethereum/py-evm', 'homepage': 'https://trinity.ethereum.org/', 'size': 6614, 'stargazers_count': 752, 'watchers_count': 752, 'language': 'Python', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 336, 'mirror_url': None, 'archived': False, 'open_issues_count': 163, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'forks': 336, 'open_issues': 163, 'watchers': 752, 'default_branch': 'master'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1556'}, 'html': {'href': 'https://github.com/ethereum/py-evm/pull/1556'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/py-evm/issues/1556'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/py-evm/issues/1556/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1556/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1556/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/py-evm/statuses/3941165c9802e5cc114bc4befaacea0a149c4af5'}}, 'author_association': 'CONTRIBUTOR'}}, 'public': True, 'created_at': '2018-12-14T10:58:04Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754198367', 'type': 'PushEvent', 'actor': {'id': 9073706, 'login': 'chriseth', 'display_login': 'chriseth', 'gravatar_id': '', 'url': 'https://api.github.com/users/chriseth', 'avatar_url': 'https://avatars.githubusercontent.com/u/9073706?'}, 'repo': {'id': 85063629, 'name': 'ethereum/solidity-test-bytecode', 'url': 'https://api.github.com/repos/ethereum/solidity-test-bytecode'}, 'payload': {'push_id': 3137509444, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/master', 'head': 'ead58f21d3f4ba1e34e2ae66a711b0d6c62502d0', 'before': 'b8b9bfdac096c4896ba665e6446aea63c5508562', 'commits': [{'sha': 'ead58f21d3f4ba1e34e2ae66a711b0d6c62502d0', 'author': {'email': '[email protected]', 'name': 'travis'}, 'message': 'Added report 2018-12-14-75667d52ed11b5b61047b9d43564f835408d92d3/ubuntu-trusty.txt', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/solidity-test-bytecode/commits/ead58f21d3f4ba1e34e2ae66a711b0d6c62502d0'}]}, 'public': True, 'created_at': '2018-12-14T10:52:12Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754172758', 'type': 'WatchEvent', 'actor': {'id': 19657992, 'login': 'smgqk', 'display_login': 'smgqk', 'gravatar_id': '', 'url': 'https://api.github.com/users/smgqk', 'avatar_url': 'https://avatars.githubusercontent.com/u/19657992?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'action': 'started'}, 'public': True, 'created_at': '2018-12-14T10:47:12Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754164859', 'type': 'PushEvent', 'actor': {'id': 9073706, 'login': 'chriseth', 'display_login': 'chriseth', 'gravatar_id': '', 'url': 'https://api.github.com/users/chriseth', 'avatar_url': 'https://avatars.githubusercontent.com/u/9073706?'}, 'repo': {'id': 85063629, 'name': 'ethereum/solidity-test-bytecode', 'url': 'https://api.github.com/repos/ethereum/solidity-test-bytecode'}, 'payload': {'push_id': 3137491975, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/master', 'head': 'b8b9bfdac096c4896ba665e6446aea63c5508562', 'before': '944f9f281f128c39839a324aa111dae0c1a9da41', 'commits': [{'sha': 'b8b9bfdac096c4896ba665e6446aea63c5508562', 'author': {'email': '[email protected]', 'name': 'travis'}, 'message': 'Added report 2018-12-14-75667d52ed11b5b61047b9d43564f835408d92d3/ubuntu-trusty-clang.txt', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/solidity-test-bytecode/commits/b8b9bfdac096c4896ba665e6446aea63c5508562'}]}, 'public': True, 'created_at': '2018-12-14T10:45:40Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754150704', 'type': 'PushEvent', 'actor': {'id': 9073706, 'login': 'chriseth', 'display_login': 'chriseth', 'gravatar_id': '', 'url': 'https://api.github.com/users/chriseth', 'avatar_url': 'https://avatars.githubusercontent.com/u/9073706?'}, 'repo': {'id': 85063629, 'name': 'ethereum/solidity-test-bytecode', 'url': 'https://api.github.com/repos/ethereum/solidity-test-bytecode'}, 'payload': {'push_id': 3137484484, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/master', 'head': '944f9f281f128c39839a324aa111dae0c1a9da41', 'before': '08ecb90922c87a21d22aad7396958e718e04d2a9', 'commits': [{'sha': '944f9f281f128c39839a324aa111dae0c1a9da41', 'author': {'email': '[email protected]', 'name': 'travis'}, 'message': 'Added report 2018-12-14-75667d52ed11b5b61047b9d43564f835408d92d3/emscripten.txt', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/solidity-test-bytecode/commits/944f9f281f128c39839a324aa111dae0c1a9da41'}]}, 'public': True, 'created_at': '2018-12-14T10:42:58Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754140773', 'type': 'WatchEvent', 'actor': {'id': 8289914, 'login': 'cuidezhu', 'display_login': 'cuidezhu', 'gravatar_id': '', 'url': 'https://api.github.com/users/cuidezhu', 'avatar_url': 'https://avatars.githubusercontent.com/u/8289914?'}, 'repo': {'id': 22730041, 'name': 'ethereum/dapp-bin', 'url': 'https://api.github.com/repos/ethereum/dapp-bin'}, 'payload': {'action': 'started'}, 'public': True, 'created_at': '2018-12-14T10:41:06Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754137353', 'type': 'PushEvent', 'actor': {'id': 1863135, 'login': 'gumb0', 'display_login': 'gumb0', 'gravatar_id': '', 'url': 'https://api.github.com/users/gumb0', 'avatar_url': 'https://avatars.githubusercontent.com/u/1863135?'}, 'repo': {'id': 15460666, 'name': 'ethereum/aleth', 'url': 'https://api.github.com/repos/ethereum/aleth'}, 'payload': {'push_id': 3137477529, 'size': 10, 'distinct_size': 10, 'ref': 'refs/heads/master', 'head': 'b92056768376d42b809e2a80afd3178b2dead29f', 'before': 'ec3886029393fc9927b130ba8f8671480d810391', 'commits': [{'sha': '11e327c20526ff137683d8ca3192203e3c493820', 'author': {'email': '[email protected]', 'name': 'Andrei Maiboroda'}, 'message': 'Validate hashes in PONG packets.\nSave sent PING hash in m_sentPings for each request and compare it with the one receive in PONG.', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/aleth/commits/11e327c20526ff137683d8ca3192203e3c493820'}, {'sha': 'fcc1d50d50d509efce359a1a4efb89d056f3d6b1', 'author': {'email': '[email protected]', 'name': 'Andrei Maiboroda'}, 'message': 'Unit tests for PONG validation', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/aleth/commits/fcc1d50d50d509efce359a1a4efb89d056f3d6b1'}, {'sha': '75997f9ad1629d32b19d47510ebce05ac4c0c1e8', 'author': {'email': '[email protected]', 'name': 'Andrei Maiboroda'}, 'message': 'Finding free UDP port for discovery unit tests', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/aleth/commits/75997f9ad1629d32b19d47510ebce05ac4c0c1e8'}, {'sha': '68edf46686be689f74cdd9061bb99c33b6e694da', 'author': {'email': '[email protected]', 'name': 'Andrei Maiboroda'}, 'message': 'Remove node from node table when PONG was not received from a node in c_timeToLive time', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/aleth/commits/68edf46686be689f74cdd9061bb99c33b6e694da'}, {'sha': '29079f7c4eca7e58a9c1df5d66df5f1f2110139a', 'author': {'email': '[email protected]', 'name': 'Andrei Maiboroda'}, 'message': "Fix minor issues after review.\nMake constexpr out of constants.\nDon't unnecessary copy the packet in onPacketReceived.", 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/aleth/commits/29079f7c4eca7e58a9c1df5d66df5f1f2110139a'}, {'sha': '22d8402fb5baea83ca99522bb9dad7b090687642', 'author': {'email': '[email protected]', 'name': 'Andrei Maiboroda'}, 'message': 'Call dropNode by moving shared_ptr into it.\nSome renamings to make code clearer', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/aleth/commits/22d8402fb5baea83ca99522bb9dad7b090687642'}, {'sha': 'ab7aa4ea9d7f8001ca46b45f84cfbf9180a3b04a', 'author': {'email': '[email protected]', 'name': 'Andrei Maiboroda'}, 'message': 'Add static constexpr members definition to fix clang build', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/aleth/commits/ab7aa4ea9d7f8001ca46b45f84cfbf9180a3b04a'}, {'sha': '6d0c90312631fbb89fc294e121bc804111d86327', 'author': {'email': '[email protected]', 'name': 'Andrei Maiboroda'}, 'message': 'Unify eviction and ping timeout handling mechanisms', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/aleth/commits/6d0c90312631fbb89fc294e121bc804111d86327'}, {'sha': '87cc8487521d0eec7272e6a5599af298107812e5', 'author': {'email': '[email protected]', 'name': 'Andrei Maiboroda'}, 'message': 'Improve thread-safety of NodeTable.', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/aleth/commits/87cc8487521d0eec7272e6a5599af298107812e5'}, {'sha': 'b92056768376d42b809e2a80afd3178b2dead29f', 'author': {'email': '[email protected]', 'name': 'Andrei Maiboroda'}, 'message': 'Merge pull request #5380 from ethereum/improve-discovery2\n\nValidate PONGs', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/aleth/commits/b92056768376d42b809e2a80afd3178b2dead29f'}]}, 'public': True, 'created_at': '2018-12-14T10:40:28Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754136734', 'type': 'DeleteEvent', 'actor': {'id': 1863135, 'login': 'gumb0', 'display_login': 'gumb0', 'gravatar_id': '', 'url': 'https://api.github.com/users/gumb0', 'avatar_url': 'https://avatars.githubusercontent.com/u/1863135?'}, 'repo': {'id': 15460666, 'name': 'ethereum/aleth', 'url': 'https://api.github.com/repos/ethereum/aleth'}, 'payload': {'ref': 'improve-discovery2', 'ref_type': 'branch', 'pusher_type': 'user'}, 'public': True, 'created_at': '2018-12-14T10:40:23Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754136488', 'type': 'PullRequestEvent', 'actor': {'id': 1863135, 'login': 'gumb0', 'display_login': 'gumb0', 'gravatar_id': '', 'url': 'https://api.github.com/users/gumb0', 'avatar_url': 'https://avatars.githubusercontent.com/u/1863135?'}, 'repo': {'id': 15460666, 'name': 'ethereum/aleth', 'url': 'https://api.github.com/repos/ethereum/aleth'}, 'payload': {'action': 'closed', 'number': 5380, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/aleth/pulls/5380', 'id': 235816816, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM1ODE2ODE2', 'html_url': 'https://github.com/ethereum/aleth/pull/5380', 'diff_url': 'https://github.com/ethereum/aleth/pull/5380.diff', 'patch_url': 'https://github.com/ethereum/aleth/pull/5380.patch', 'issue_url': 'https://api.github.com/repos/ethereum/aleth/issues/5380', 'number': 5380, 'state': 'closed', 'locked': False, 'title': 'Validate PONGs', 'user': {'login': 'gumb0', 'id': 1863135, 'node_id': 'MDQ6VXNlcjE4NjMxMzU=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/1863135?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/gumb0', 'html_url': 'https://github.com/gumb0', 'followers_url': 'https://api.github.com/users/gumb0/followers', 'following_url': 'https://api.github.com/users/gumb0/following{/other_user}', 'gists_url': 'https://api.github.com/users/gumb0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/gumb0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/gumb0/subscriptions', 'organizations_url': 'https://api.github.com/users/gumb0/orgs', 'repos_url': 'https://api.github.com/users/gumb0/repos', 'events_url': 'https://api.github.com/users/gumb0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/gumb0/received_events', 'type': 'User', 'site_admin': False}, 'body': "Addresses point 1 of https://github.com/ethereum/aleth/issues/4959\r\nSaves info about every PING sent into `m_sentPings`; then validates each received PONG against the saved hash.\r\n\r\nNext steps:\r\n- more unit tests for timeouts and for evictions https://github.com/ethereum/aleth/pull/5390;\r\n- Save last PONG time into `network.rlp` with each node (currently it trusts `network.rlp` to have valid nodes and doesn't re-PING them after aleth restart)", 'created_at': '2018-12-04T13:53:16Z', 'updated_at': '2018-12-14T10:40:19Z', 'closed_at': '2018-12-14T10:40:19Z', 'merged_at': '2018-12-14T10:40:19Z', 'merge_commit_sha': 'b92056768376d42b809e2a80afd3178b2dead29f', 'assignee': None, 'assignees': [], 'requested_reviewers': [{'login': 'halfalicious', 'id': 15605026, 'node_id': 'MDQ6VXNlcjE1NjA1MDI2', 'avatar_url': 'https://avatars1.githubusercontent.com/u/15605026?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/halfalicious', 'html_url': 'https://github.com/halfalicious', 'followers_url': 'https://api.github.com/users/halfalicious/followers', 'following_url': 'https://api.github.com/users/halfalicious/following{/other_user}', 'gists_url': 'https://api.github.com/users/halfalicious/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/halfalicious/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/halfalicious/subscriptions', 'organizations_url': 'https://api.github.com/users/halfalicious/orgs', 'repos_url': 'https://api.github.com/users/halfalicious/repos', 'events_url': 'https://api.github.com/users/halfalicious/events{/privacy}', 'received_events_url': 'https://api.github.com/users/halfalicious/received_events', 'type': 'User', 'site_admin': False}], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/aleth/pulls/5380/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/aleth/pulls/5380/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/aleth/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/aleth/issues/5380/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/aleth/statuses/87cc8487521d0eec7272e6a5599af298107812e5', 'head': {'label': 'ethereum:improve-discovery2', 'ref': 'improve-discovery2', 'sha': '87cc8487521d0eec7272e6a5599af298107812e5', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 15460666, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNTQ2MDY2Ng==', 'name': 'aleth', 'full_name': 'ethereum/aleth', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/aleth', 'description': 'Aleth – Ethereum C++ client, tools and libraries', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/aleth', 'forks_url': 'https://api.github.com/repos/ethereum/aleth/forks', 'keys_url': 'https://api.github.com/repos/ethereum/aleth/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/aleth/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/aleth/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/aleth/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/aleth/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/aleth/events', 'assignees_url': 'https://api.github.com/repos/ethereum/aleth/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/aleth/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/aleth/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/aleth/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/aleth/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/aleth/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/aleth/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/aleth/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/aleth/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/aleth/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/aleth/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/aleth/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/aleth/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/aleth/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/aleth/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/aleth/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/aleth/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/aleth/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/aleth/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/aleth/merges', 'archive_url': 'https://api.github.com/repos/ethereum/aleth/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/aleth/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/aleth/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/aleth/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/aleth/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/aleth/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/aleth/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/aleth/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/aleth/deployments', 'created_at': '2013-12-26T21:26:06Z', 'updated_at': '2018-12-14T04:35:21Z', 'pushed_at': '2018-12-14T10:40:19Z', 'git_url': 'git://github.com/ethereum/aleth.git', 'ssh_url': '[email protected]:ethereum/aleth.git', 'clone_url': 'https://github.com/ethereum/aleth.git', 'svn_url': 'https://github.com/ethereum/aleth', 'homepage': 'http://cpp-ethereum.org', 'size': 55466, 'stargazers_count': 3455, 'watchers_count': 3455, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': True, 'forks_count': 2137, 'mirror_url': None, 'archived': False, 'open_issues_count': 322, 'license': {'key': 'gpl-3.0', 'name': 'GNU General Public License v3.0', 'spdx_id': 'GPL-3.0', 'url': 'https://api.github.com/licenses/gpl-3.0', 'node_id': 'MDc6TGljZW5zZTk='}, 'forks': 2137, 'open_issues': 322, 'watchers': 3455, 'default_branch': 'master'}}, 'base': {'label': 'ethereum:master', 'ref': 'master', 'sha': 'b4f616296fb8035488f1db7686ff40e1f641fa27', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 15460666, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNTQ2MDY2Ng==', 'name': 'aleth', 'full_name': 'ethereum/aleth', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/aleth', 'description': 'Aleth – Ethereum C++ client, tools and libraries', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/aleth', 'forks_url': 'https://api.github.com/repos/ethereum/aleth/forks', 'keys_url': 'https://api.github.com/repos/ethereum/aleth/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/aleth/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/aleth/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/aleth/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/aleth/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/aleth/events', 'assignees_url': 'https://api.github.com/repos/ethereum/aleth/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/aleth/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/aleth/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/aleth/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/aleth/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/aleth/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/aleth/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/aleth/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/aleth/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/aleth/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/aleth/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/aleth/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/aleth/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/aleth/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/aleth/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/aleth/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/aleth/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/aleth/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/aleth/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/aleth/merges', 'archive_url': 'https://api.github.com/repos/ethereum/aleth/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/aleth/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/aleth/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/aleth/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/aleth/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/aleth/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/aleth/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/aleth/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/aleth/deployments', 'created_at': '2013-12-26T21:26:06Z', 'updated_at': '2018-12-14T04:35:21Z', 'pushed_at': '2018-12-14T10:40:19Z', 'git_url': 'git://github.com/ethereum/aleth.git', 'ssh_url': '[email protected]:ethereum/aleth.git', 'clone_url': 'https://github.com/ethereum/aleth.git', 'svn_url': 'https://github.com/ethereum/aleth', 'homepage': 'http://cpp-ethereum.org', 'size': 55466, 'stargazers_count': 3455, 'watchers_count': 3455, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': True, 'forks_count': 2137, 'mirror_url': None, 'archived': False, 'open_issues_count': 322, 'license': {'key': 'gpl-3.0', 'name': 'GNU General Public License v3.0', 'spdx_id': 'GPL-3.0', 'url': 'https://api.github.com/licenses/gpl-3.0', 'node_id': 'MDc6TGljZW5zZTk='}, 'forks': 2137, 'open_issues': 322, 'watchers': 3455, 'default_branch': 'master'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/aleth/pulls/5380'}, 'html': {'href': 'https://github.com/ethereum/aleth/pull/5380'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/aleth/issues/5380'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/aleth/issues/5380/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/aleth/pulls/5380/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/aleth/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/aleth/pulls/5380/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/aleth/statuses/87cc8487521d0eec7272e6a5599af298107812e5'}}, 'author_association': 'MEMBER', 'merged': True, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': {'login': 'gumb0', 'id': 1863135, 'node_id': 'MDQ6VXNlcjE4NjMxMzU=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/1863135?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/gumb0', 'html_url': 'https://github.com/gumb0', 'followers_url': 'https://api.github.com/users/gumb0/followers', 'following_url': 'https://api.github.com/users/gumb0/following{/other_user}', 'gists_url': 'https://api.github.com/users/gumb0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/gumb0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/gumb0/subscriptions', 'organizations_url': 'https://api.github.com/users/gumb0/orgs', 'repos_url': 'https://api.github.com/users/gumb0/repos', 'events_url': 'https://api.github.com/users/gumb0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/gumb0/received_events', 'type': 'User', 'site_admin': False}, 'comments': 10, 'review_comments': 32, 'maintainer_can_modify': False, 'commits': 9, 'additions': 309, 'deletions': 201, 'changed_files': 5}}, 'public': True, 'created_at': '2018-12-14T10:40:20Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754132960', 'type': 'ForkEvent', 'actor': {'id': 43116881, 'login': '0xC0DE4C0FFEE', 'display_login': '0xC0DE4C0FFEE', 'gravatar_id': '', 'url': 'https://api.github.com/users/0xC0DE4C0FFEE', 'avatar_url': 'https://avatars.githubusercontent.com/u/43116881?'}, 'repo': {'id': 24655114, 'name': 'ethereum/web3.js', 'url': 'https://api.github.com/repos/ethereum/web3.js'}, 'payload': {'forkee': {'id': 161770481, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjE3NzA0ODE=', 'name': 'web3.js', 'full_name': '0xC0DE4C0FFEE/web3.js', 'private': False, 'owner': {'login': '0xC0DE4C0FFEE', 'id': 43116881, 'node_id': 'MDQ6VXNlcjQzMTE2ODgx', 'avatar_url': 'https://avatars2.githubusercontent.com/u/43116881?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/0xC0DE4C0FFEE', 'html_url': 'https://github.com/0xC0DE4C0FFEE', 'followers_url': 'https://api.github.com/users/0xC0DE4C0FFEE/followers', 'following_url': 'https://api.github.com/users/0xC0DE4C0FFEE/following{/other_user}', 'gists_url': 'https://api.github.com/users/0xC0DE4C0FFEE/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/0xC0DE4C0FFEE/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/0xC0DE4C0FFEE/subscriptions', 'organizations_url': 'https://api.github.com/users/0xC0DE4C0FFEE/orgs', 'repos_url': 'https://api.github.com/users/0xC0DE4C0FFEE/repos', 'events_url': 'https://api.github.com/users/0xC0DE4C0FFEE/events{/privacy}', 'received_events_url': 'https://api.github.com/users/0xC0DE4C0FFEE/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/0xC0DE4C0FFEE/web3.js', 'description': 'Ethereum JavaScript API', 'fork': True, 'url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js', 'forks_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/forks', 'keys_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/teams', 'hooks_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/hooks', 'issue_events_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/issues/events{/number}', 'events_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/events', 'assignees_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/assignees{/user}', 'branches_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/branches{/branch}', 'tags_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/tags', 'blobs_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/languages', 'stargazers_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/stargazers', 'contributors_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/contributors', 'subscribers_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/subscribers', 'subscription_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/subscription', 'commits_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/contents/{+path}', 'compare_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/merges', 'archive_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/downloads', 'issues_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/issues{/number}', 'pulls_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/labels{/name}', 'releases_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/releases{/id}', 'deployments_url': 'https://api.github.com/repos/0xC0DE4C0FFEE/web3.js/deployments', 'created_at': '2018-12-14T10:39:42Z', 'updated_at': '2018-12-14T10:21:11Z', 'pushed_at': '2018-12-14T10:21:19Z', 'git_url': 'git://github.com/0xC0DE4C0FFEE/web3.js.git', 'ssh_url': '[email protected]:0xC0DE4C0FFEE/web3.js.git', 'clone_url': 'https://github.com/0xC0DE4C0FFEE/web3.js.git', 'svn_url': 'https://github.com/0xC0DE4C0FFEE/web3.js', 'homepage': '', 'size': 36484, 'stargazers_count': 0, 'watchers_count': 0, 'language': None, 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'public': True}}, 'public': True, 'created_at': '2018-12-14T10:39:43Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754089991', 'type': 'ForkEvent', 'actor': {'id': 7226223, 'login': 'rodrigo-garcia-leon', 'display_login': 'rodrigo-garcia-leon', 'gravatar_id': '', 'url': 'https://api.github.com/users/rodrigo-garcia-leon', 'avatar_url': 'https://avatars.githubusercontent.com/u/7226223?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'forkee': {'id': 161769580, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjE3Njk1ODA=', 'name': 'go-ethereum', 'full_name': 'rodrigo-garcia-leon/go-ethereum', 'private': False, 'owner': {'login': 'rodrigo-garcia-leon', 'id': 7226223, 'node_id': 'MDQ6VXNlcjcyMjYyMjM=', 'avatar_url': 'https://avatars2.githubusercontent.com/u/7226223?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/rodrigo-garcia-leon', 'html_url': 'https://github.com/rodrigo-garcia-leon', 'followers_url': 'https://api.github.com/users/rodrigo-garcia-leon/followers', 'following_url': 'https://api.github.com/users/rodrigo-garcia-leon/following{/other_user}', 'gists_url': 'https://api.github.com/users/rodrigo-garcia-leon/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/rodrigo-garcia-leon/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/rodrigo-garcia-leon/subscriptions', 'organizations_url': 'https://api.github.com/users/rodrigo-garcia-leon/orgs', 'repos_url': 'https://api.github.com/users/rodrigo-garcia-leon/repos', 'events_url': 'https://api.github.com/users/rodrigo-garcia-leon/events{/privacy}', 'received_events_url': 'https://api.github.com/users/rodrigo-garcia-leon/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/rodrigo-garcia-leon/go-ethereum', 'description': 'Official Go implementation of the Ethereum protocol', 'fork': True, 'url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum', 'forks_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/forks', 'keys_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/teams', 'hooks_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/hooks', 'issue_events_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/issues/events{/number}', 'events_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/events', 'assignees_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/assignees{/user}', 'branches_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/branches{/branch}', 'tags_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/tags', 'blobs_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/languages', 'stargazers_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/stargazers', 'contributors_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/contributors', 'subscribers_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/subscribers', 'subscription_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/subscription', 'commits_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/contents/{+path}', 'compare_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/merges', 'archive_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/downloads', 'issues_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/issues{/number}', 'pulls_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/labels{/name}', 'releases_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/releases{/id}', 'deployments_url': 'https://api.github.com/repos/rodrigo-garcia-leon/go-ethereum/deployments', 'created_at': '2018-12-14T10:31:32Z', 'updated_at': '2018-12-14T10:15:59Z', 'pushed_at': '2018-12-14T10:15:32Z', 'git_url': 'git://github.com/rodrigo-garcia-leon/go-ethereum.git', 'ssh_url': '[email protected]:rodrigo-garcia-leon/go-ethereum.git', 'clone_url': 'https://github.com/rodrigo-garcia-leon/go-ethereum.git', 'svn_url': 'https://github.com/rodrigo-garcia-leon/go-ethereum', 'homepage': 'https://geth.ethereum.org', 'size': 107613, 'stargazers_count': 0, 'watchers_count': 0, 'language': None, 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'open_issues_count': 0, 'license': None, 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'public': True}}, 'public': True, 'created_at': '2018-12-14T10:31:33Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754087798', 'type': 'PullRequestEvent', 'actor': {'id': 142290, 'login': 'holiman', 'display_login': 'holiman', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'avatar_url': 'https://avatars.githubusercontent.com/u/142290?'}, 'repo': {'id': 62554553, 'name': 'ethereum/hive', 'url': 'https://api.github.com/repos/ethereum/hive'}, 'payload': {'action': 'opened', 'number': 162, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/hive/pulls/162', 'id': 238676283, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM4Njc2Mjgz', 'html_url': 'https://github.com/ethereum/hive/pull/162', 'diff_url': 'https://github.com/ethereum/hive/pull/162.diff', 'patch_url': 'https://github.com/ethereum/hive/pull/162.patch', 'issue_url': 'https://api.github.com/repos/ethereum/hive/issues/162', 'number': 162, 'state': 'open', 'locked': False, 'title': 'Make extra container for copying easier to avoid', 'user': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'body': 'Skips some container-interaction when a path is `ignore`, also fixes the copy-from-template to at least not be obviously br0ken', 'created_at': '2018-12-14T10:31:09Z', 'updated_at': '2018-12-14T10:31:09Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': None, 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/hive/pulls/162/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/hive/pulls/162/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/hive/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/hive/issues/162/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/hive/statuses/34344edd861be9c7d28e66ebe7513baa82e8918f', 'head': {'label': 'holiman:extracontainer', 'ref': 'extracontainer', 'sha': '34344edd861be9c7d28e66ebe7513baa82e8918f', 'user': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'repo': {'id': 71807795, 'node_id': 'MDEwOlJlcG9zaXRvcnk3MTgwNzc5NQ==', 'name': 'hive', 'full_name': 'holiman/hive', 'private': False, 'owner': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/holiman/hive', 'description': 'Ethereum end-to-end test harness', 'fork': True, 'url': 'https://api.github.com/repos/holiman/hive', 'forks_url': 'https://api.github.com/repos/holiman/hive/forks', 'keys_url': 'https://api.github.com/repos/holiman/hive/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/holiman/hive/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/holiman/hive/teams', 'hooks_url': 'https://api.github.com/repos/holiman/hive/hooks', 'issue_events_url': 'https://api.github.com/repos/holiman/hive/issues/events{/number}', 'events_url': 'https://api.github.com/repos/holiman/hive/events', 'assignees_url': 'https://api.github.com/repos/holiman/hive/assignees{/user}', 'branches_url': 'https://api.github.com/repos/holiman/hive/branches{/branch}', 'tags_url': 'https://api.github.com/repos/holiman/hive/tags', 'blobs_url': 'https://api.github.com/repos/holiman/hive/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/holiman/hive/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/holiman/hive/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/holiman/hive/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/holiman/hive/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/holiman/hive/languages', 'stargazers_url': 'https://api.github.com/repos/holiman/hive/stargazers', 'contributors_url': 'https://api.github.com/repos/holiman/hive/contributors', 'subscribers_url': 'https://api.github.com/repos/holiman/hive/subscribers', 'subscription_url': 'https://api.github.com/repos/holiman/hive/subscription', 'commits_url': 'https://api.github.com/repos/holiman/hive/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/holiman/hive/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/holiman/hive/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/holiman/hive/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/holiman/hive/contents/{+path}', 'compare_url': 'https://api.github.com/repos/holiman/hive/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/holiman/hive/merges', 'archive_url': 'https://api.github.com/repos/holiman/hive/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/holiman/hive/downloads', 'issues_url': 'https://api.github.com/repos/holiman/hive/issues{/number}', 'pulls_url': 'https://api.github.com/repos/holiman/hive/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/holiman/hive/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/holiman/hive/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/holiman/hive/labels{/name}', 'releases_url': 'https://api.github.com/repos/holiman/hive/releases{/id}', 'deployments_url': 'https://api.github.com/repos/holiman/hive/deployments', 'created_at': '2016-10-24T16:18:24Z', 'updated_at': '2018-12-04T12:55:16Z', 'pushed_at': '2018-12-14T10:29:59Z', 'git_url': 'git://github.com/holiman/hive.git', 'ssh_url': '[email protected]:holiman/hive.git', 'clone_url': 'https://github.com/holiman/hive.git', 'svn_url': 'https://github.com/holiman/hive', 'homepage': None, 'size': 8359, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'Go', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'open_issues_count': 0, 'license': {'key': 'gpl-3.0', 'name': 'GNU General Public License v3.0', 'spdx_id': 'GPL-3.0', 'url': 'https://api.github.com/licenses/gpl-3.0', 'node_id': 'MDc6TGljZW5zZTk='}, 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master'}}, 'base': {'label': 'ethereum:master', 'ref': 'master', 'sha': 'd2df38bfabb35bdc4f13a1afd2f6c05528fd6982', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 62554553, 'node_id': 'MDEwOlJlcG9zaXRvcnk2MjU1NDU1Mw==', 'name': 'hive', 'full_name': 'ethereum/hive', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/hive', 'description': 'Ethereum end-to-end test harness', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/hive', 'forks_url': 'https://api.github.com/repos/ethereum/hive/forks', 'keys_url': 'https://api.github.com/repos/ethereum/hive/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/hive/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/hive/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/hive/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/hive/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/hive/events', 'assignees_url': 'https://api.github.com/repos/ethereum/hive/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/hive/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/hive/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/hive/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/hive/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/hive/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/hive/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/hive/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/hive/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/hive/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/hive/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/hive/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/hive/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/hive/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/hive/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/hive/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/hive/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/hive/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/hive/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/hive/merges', 'archive_url': 'https://api.github.com/repos/ethereum/hive/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/hive/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/hive/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/hive/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/hive/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/hive/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/hive/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/hive/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/hive/deployments', 'created_at': '2016-07-04T10:41:07Z', 'updated_at': '2018-12-10T10:30:53Z', 'pushed_at': '2018-12-14T07:35:59Z', 'git_url': 'git://github.com/ethereum/hive.git', 'ssh_url': '[email protected]:ethereum/hive.git', 'clone_url': 'https://github.com/ethereum/hive.git', 'svn_url': 'https://github.com/ethereum/hive', 'homepage': None, 'size': 8374, 'stargazers_count': 96, 'watchers_count': 96, 'language': 'Go', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 36, 'mirror_url': None, 'archived': False, 'open_issues_count': 25, 'license': {'key': 'gpl-3.0', 'name': 'GNU General Public License v3.0', 'spdx_id': 'GPL-3.0', 'url': 'https://api.github.com/licenses/gpl-3.0', 'node_id': 'MDc6TGljZW5zZTk='}, 'forks': 36, 'open_issues': 25, 'watchers': 96, 'default_branch': 'master'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/hive/pulls/162'}, 'html': {'href': 'https://github.com/ethereum/hive/pull/162'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/hive/issues/162'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/hive/issues/162/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/hive/pulls/162/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/hive/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/hive/pulls/162/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/hive/statuses/34344edd861be9c7d28e66ebe7513baa82e8918f'}}, 'author_association': 'COLLABORATOR', 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 1, 'additions': 4, 'deletions': 1, 'changed_files': 1}}, 'public': True, 'created_at': '2018-12-14T10:31:10Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754057214', 'type': 'DeleteEvent', 'actor': {'id': 1347491, 'login': 'ekpyron', 'display_login': 'ekpyron', 'gravatar_id': '', 'url': 'https://api.github.com/users/ekpyron', 'avatar_url': 'https://avatars.githubusercontent.com/u/1347491?'}, 'repo': {'id': 40892817, 'name': 'ethereum/solidity', 'url': 'https://api.github.com/repos/ethereum/solidity'}, 'payload': {'ref': 'removeUnassignedVarDefs', 'ref_type': 'branch', 'pusher_type': 'user'}, 'public': True, 'created_at': '2018-12-14T10:25:49Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754038430', 'type': 'IssueCommentEvent', 'actor': {'id': 22429695, 'login': 'codecov[bot]', 'display_login': 'codecov', 'gravatar_id': '', 'url': 'https://api.github.com/users/codecov[bot]', 'avatar_url': 'https://avatars.githubusercontent.com/u/22429695?'}, 'repo': {'id': 40892817, 'name': 'ethereum/solidity', 'url': 'https://api.github.com/repos/ethereum/solidity'}, 'payload': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/ethereum/solidity/issues/5635', 'repository_url': 'https://api.github.com/repos/ethereum/solidity', 'labels_url': 'https://api.github.com/repos/ethereum/solidity/issues/5635/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/solidity/issues/5635/comments', 'events_url': 'https://api.github.com/repos/ethereum/solidity/issues/5635/events', 'html_url': 'https://github.com/ethereum/solidity/pull/5635', 'id': 390235609, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM4MDQ0ODgz', 'number': 5635, 'title': '[RFC] C++ `=default` ctors/dtors and the use of non-static member initializer syntax.', 'user': {'login': 'christianparpart', 'id': 56763, 'node_id': 'MDQ6VXNlcjU2NzYz', 'avatar_url': 'https://avatars1.githubusercontent.com/u/56763?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/christianparpart', 'html_url': 'https://github.com/christianparpart', 'followers_url': 'https://api.github.com/users/christianparpart/followers', 'following_url': 'https://api.github.com/users/christianparpart/following{/other_user}', 'gists_url': 'https://api.github.com/users/christianparpart/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/christianparpart/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/christianparpart/subscriptions', 'organizations_url': 'https://api.github.com/users/christianparpart/orgs', 'repos_url': 'https://api.github.com/users/christianparpart/repos', 'events_url': 'https://api.github.com/users/christianparpart/events{/privacy}', 'received_events_url': 'https://api.github.com/users/christianparpart/received_events', 'type': 'User', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 0, 'created_at': '2018-12-12T13:53:00Z', 'updated_at': '2018-12-14T10:22:28Z', 'closed_at': None, 'author_association': 'CONTRIBUTOR', 'pull_request': {'url': 'https://api.github.com/repos/ethereum/solidity/pulls/5635', 'html_url': 'https://github.com/ethereum/solidity/pull/5635', 'diff_url': 'https://github.com/ethereum/solidity/pull/5635.diff', 'patch_url': 'https://github.com/ethereum/solidity/pull/5635.patch'}, 'body': ''}, 'comment': {'url': 'https://api.github.com/repos/ethereum/solidity/issues/comments/447281816', 'html_url': 'https://github.com/ethereum/solidity/pull/5635#issuecomment-447281816', 'issue_url': 'https://api.github.com/repos/ethereum/solidity/issues/5635', 'id': 447281816, 'node_id': 'MDEyOklzc3VlQ29tbWVudDQ0NzI4MTgxNg==', 'user': {'login': 'codecov[bot]', 'id': 22429695, 'node_id': 'MDM6Qm90MjI0Mjk2OTU=', 'avatar_url': 'https://avatars2.githubusercontent.com/in/254?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/codecov%5Bbot%5D', 'html_url': 'https://github.com/apps/codecov', 'followers_url': 'https://api.github.com/users/codecov%5Bbot%5D/followers', 'following_url': 'https://api.github.com/users/codecov%5Bbot%5D/following{/other_user}', 'gists_url': 'https://api.github.com/users/codecov%5Bbot%5D/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/codecov%5Bbot%5D/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/codecov%5Bbot%5D/subscriptions', 'organizations_url': 'https://api.github.com/users/codecov%5Bbot%5D/orgs', 'repos_url': 'https://api.github.com/users/codecov%5Bbot%5D/repos', 'events_url': 'https://api.github.com/users/codecov%5Bbot%5D/events{/privacy}', 'received_events_url': 'https://api.github.com/users/codecov%5Bbot%5D/received_events', 'type': 'Bot', 'site_admin': False}, 'created_at': '2018-12-14T10:22:28Z', 'updated_at': '2018-12-14T10:22:28Z', 'author_association': 'NONE', 'body': '# [Codecov](https://codecov.io/gh/ethereum/solidity/pull/5635?src=pr&el=h1) Report\n> Merging [#5635](https://codecov.io/gh/ethereum/solidity/pull/5635?src=pr&el=desc) into [develop](https://codecov.io/gh/ethereum/solidity/commit/8d3617b7c522d74bcc36a1fbc1eb7c16bf96ad4d?src=pr&el=desc) will **decrease** coverage by `0.02%`.\n> The diff coverage is `98%`.\n\n[![Impacted file tree graph](https://codecov.io/gh/ethereum/solidity/pull/5635/graphs/tree.svg?width=650&token=87PGzVEwU0&height=150&src=pr)](https://codecov.io/gh/ethereum/solidity/pull/5635?src=pr&el=tree)\n\n```diff\[email protected]@             Coverage Diff             @@\n##           develop    #5635      +/-   ##\n===========================================\n- Coverage    88.26%   88.23%   -0.03%     \n===========================================\n  Files          339      339              \n  Lines        32472    32458      -14     \n  Branches      3887     3885       -2     \n===========================================\n- Hits         28662    28640      -22     \n- Misses        2494     2501       +7     \n- Partials      1316     1317       +1\n```\n\n| Flag | Coverage Δ | |\n|---|---|---|\n| #all | `88.23% <98%> (-0.03%)` | :arrow_down: |\n| #syntax | `28.55% <24%> (-0.01%)` | :arrow_down: |\n'}}, 'public': True, 'created_at': '2018-12-14T10:22:28Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754037696', 'type': 'PushEvent', 'actor': {'id': 56763, 'login': 'christianparpart', 'display_login': 'christianparpart', 'gravatar_id': '', 'url': 'https://api.github.com/users/christianparpart', 'avatar_url': 'https://avatars.githubusercontent.com/u/56763?'}, 'repo': {'id': 40892817, 'name': 'ethereum/solidity', 'url': 'https://api.github.com/repos/ethereum/solidity'}, 'payload': {'push_id': 3137424218, 'size': 46, 'distinct_size': 2, 'ref': 'refs/heads/cpp-default-ctors', 'head': '714cb78794902d611f922aa52241baec2d9e8622', 'before': '2b5bc6d892375402fedaa30a53eae992fb7aeceb', 'commits': [{'sha': '6d82ad13386493b80f303eb7dcda07095a62e1e8', 'author': {'email': '[email protected]', 'name': 'Daniel Kirchner'}, 'message': 'Test updates for recent versions of aleth.', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/solidity/commits/6d82ad13386493b80f303eb7dcda07095a62e1e8'}, {'sha': '788612d2efef33aad711646a1ace9dfee6237730', 'author': {'email': '[email protected]', 'name': 'Daniel Kirchner'}, 'message': 'Refactoring of the ControlFlowGraph and use for detecting all uninitialized storage accesses.', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/solidity/commits/788612d2efef33aad711646a1ace9dfee6237730'}, {'sha': 'a18985800f42035cdc3c36555cb927e286ea0d91', 'author': {'email': '[email protected]', 'name': 'Daniel Kirchner'}, 'message': 'Fix compilation for certain combinations of boost and gcc.', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/solidity/commits/a18985800f42035cdc3c36555cb927e286ea0d91'}, {'sha': '85291bcb2d0e92c8d515887a00174d46f974500d', 'author': {'email': '[email protected]', 'name': 'Daniel Kirchner'}, 'message': 'Merge pull request #5628 from ethereum/structuralSimplifierCompilationFix\n\n[Yul] Fix compilation for certain combinations of boost and gcc.', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/solidity/commits/85291bcb2d0e92c8d515887a00174d46f974500d'}, {'sha': '774f7e612932d6300cf3d15d010fa312add744d8', 'author': {'email': '[email protected]', 'name': 'Chris Ward'}, 'message': 'Remove payload FAQ item', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/solidity/commits/774f7e612932d6300cf3d15d010fa312add744d8'}, {'sha': '53537864a2b7322c58248ea8c9937d13aca7ca61', 'author': {'email': '[email protected]', 'name': 'Leonardo Alt'}, 'message': 'Disable unused var warning for functions with empty body', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/solidity/commits/53537864a2b7322c58248ea8c9937d13aca7ca61'}, {'sha': '508aae8a6709f4758753bb1e2ac1f613043c6750', 'author': {'email': '[email protected]', 'name': 'Leonardo Alt'}, 'message': 'Disable state mutability warning for functions with empty body', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/solidity/commits/508aae8a6709f4758753bb1e2ac1f613043c6750'}, {'sha': '8c49d86e6b2422757fe5579711ef7cdf1718b81c', 'author': {'email': '[email protected]', 'name': 'Leonardo Alt'}, 'message': 'Changelog entry', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/solidity/commits/8c49d86e6b2422757fe5579711ef7cdf1718b81c'}, {'sha': '35d6db880a7c36744934f626b69a2329ea484722', 'author': {'email': '[email protected]', 'name': 'chriseth'}, 'message': 'Merge pull request #5617 from ethereum/controlFlowRework\n\nRework of ControlFlowGraph and analysis.', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/solidity/commits/35d6db880a7c36744934f626b69a2329ea484722'}, {'sha': 'd03b52519adf31180261ee9edfe24a1c4fe71bb6', 'author': {'email': '[email protected]', 'name': 'Chris Ward'}, 'message': 'Remove FAQ item that covers array literals', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/solidity/commits/d03b52519adf31180261ee9edfe24a1c4fe71bb6'}, {'sha': '5e0c312dad2daaae155486397bfbd26d6d172718', 'author': {'email': '[email protected]', 'name': 'chriseth'}, 'message': 'Merge pull request #5632 from ethereum/faq-payload\n\nDOCS: Remove payload FAQ item', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/solidity/commits/5e0c312dad2daaae155486397bfbd26d6d172718'}, {'sha': 'c863cbf80de08d8ba3bbf5fdd9149f6bc6d2c9af', 'author': {'email': '[email protected]', 'name': 'Alex Beregszaszi'}, 'message': 'Add missing header guards', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/solidity/commits/c863cbf80de08d8ba3bbf5fdd9149f6bc6d2c9af'}, {'sha': 'c7e09658010b231f4743039c9f91892341a64e15', 'author': {'email': '[email protected]', 'name': 'Ricardo Guilherme Schmidt'}, 'message': 'Add NatSpec to Style-Guide\n\nrelated to #2270', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/solidity/commits/c7e09658010b231f4743039c9f91892341a64e15'}, {'sha': '7e9a29090c29a8fb678f348fa7333a7658d70cf6', 'author': {'email': '[email protected]', 'name': 'chriseth'}, 'message': 'Merge pull request #2271 from 3esmit/patch-1\n\nAdd NatSpec to Style-Guide', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/solidity/commits/7e9a29090c29a8fb678f348fa7333a7658d70cf6'}, {'sha': '87237281bf252b7afcf5d1295e75a03bf41ac864', 'author': {'email': '[email protected]', 'name': 'chriseth'}, 'message': 'Merge pull request #5630 from ethereum/warn_functions_empty_body\n\nSupress unused var and state mut warnings for functions with empty body', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/solidity/commits/87237281bf252b7afcf5d1295e75a03bf41ac864'}, {'sha': '60d7cc6049a7c5559ee3e48a0b25cfe94cf7e919', 'author': {'email': '[email protected]', 'name': 'Daniel Kirchner'}, 'message': 'Replace trusty PPA build by static PPA build.', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/solidity/commits/60d7cc6049a7c5559ee3e48a0b25cfe94cf7e919'}, {'sha': 'a4da8c1ad83eddbf957d02ef44e6a5d4aad65904', 'author': {'email': '[email protected]', 'name': 'Chris Ward'}, 'message': 'Remove FAQ item on killing contracts', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/solidity/commits/a4da8c1ad83eddbf957d02ef44e6a5d4aad65904'}, {'sha': '123d33ad41b1dea43d7b6aee4b31bc6cf373bf4a', 'author': {'email': '[email protected]', 'name': 'Daniel Kirchner'}, 'message': 'Add tolerance to gas meter tests.', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/solidity/commits/123d33ad41b1dea43d7b6aee4b31bc6cf373bf4a'}, {'sha': '1c8c8734654a4bea8270beff7e1a295323002af3', 'author': {'email': '[email protected]', 'name': 'chriseth'}, 'message': 'Merge pull request #5633 from ethereum/faq-kill\n\nDOCS: Remove FAQ item on killing contracts', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/solidity/commits/1c8c8734654a4bea8270beff7e1a295323002af3'}, {'sha': '8cd2ac84622185a59ee61439289d1defe58dec99', 'author': {'email': '[email protected]', 'name': 'Leonardo Alt'}, 'message': 'Disallow unknown JSON keys in standard-json', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/solidity/commits/8cd2ac84622185a59ee61439289d1defe58dec99'}]}, 'public': True, 'created_at': '2018-12-14T10:22:21Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754031393', 'type': 'WatchEvent', 'actor': {'id': 16360786, 'login': 'nafidurmus', 'display_login': 'nafidurmus', 'gravatar_id': '', 'url': 'https://api.github.com/users/nafidurmus', 'avatar_url': 'https://avatars.githubusercontent.com/u/16360786?'}, 'repo': {'id': 24655114, 'name': 'ethereum/web3.js', 'url': 'https://api.github.com/repos/ethereum/web3.js'}, 'payload': {'action': 'started'}, 'public': True, 'created_at': '2018-12-14T10:21:11Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754010490', 'type': 'IssueCommentEvent', 'actor': {'id': 18472422, 'login': 'joshstevens19', 'display_login': 'joshstevens19', 'gravatar_id': '', 'url': 'https://api.github.com/users/joshstevens19', 'avatar_url': 'https://avatars.githubusercontent.com/u/18472422?'}, 'repo': {'id': 24655114, 'name': 'ethereum/web3.js', 'url': 'https://api.github.com/repos/ethereum/web3.js'}, 'payload': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/ethereum/web3.js/issues/2085', 'repository_url': 'https://api.github.com/repos/ethereum/web3.js', 'labels_url': 'https://api.github.com/repos/ethereum/web3.js/issues/2085/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/web3.js/issues/2085/comments', 'events_url': 'https://api.github.com/repos/ethereum/web3.js/issues/2085/events', 'html_url': 'https://github.com/ethereum/web3.js/issues/2085', 'id': 386183041, 'node_id': 'MDU6SXNzdWUzODYxODMwNDE=', 'number': 2085, 'title': 'Add TypeScript typings for all packages', 'user': {'login': 'nivida', 'id': 1699173, 'node_id': 'MDQ6VXNlcjE2OTkxNzM=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/1699173?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/nivida', 'html_url': 'https://github.com/nivida', 'followers_url': 'https://api.github.com/users/nivida/followers', 'following_url': 'https://api.github.com/users/nivida/following{/other_user}', 'gists_url': 'https://api.github.com/users/nivida/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/nivida/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/nivida/subscriptions', 'organizations_url': 'https://api.github.com/users/nivida/orgs', 'repos_url': 'https://api.github.com/users/nivida/repos', 'events_url': 'https://api.github.com/users/nivida/events{/privacy}', 'received_events_url': 'https://api.github.com/users/nivida/received_events', 'type': 'User', 'site_admin': False}, 'labels': [{'id': 561222327, 'node_id': 'MDU6TGFiZWw1NjEyMjIzMjc=', 'url': 'https://api.github.com/repos/ethereum/web3.js/labels/bounty', 'name': 'bounty', 'color': 'fafad2', 'default': False}], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 16, 'created_at': '2018-11-30T13:15:08Z', 'updated_at': '2018-12-14T10:17:20Z', 'closed_at': None, 'author_association': 'COLLABORATOR', 'body': "This is a gitcoin bounty.\r\n\r\n#### ToDo:\r\n- [ ] Add type definitions for all modules\r\n- [ ] Add dtslint tests for all modules\r\n- [ ] Add typings to PR template check list \r\n- [ ] See if there's a coverage tool for dtslint tests "}, 'comment': {'url': 'https://api.github.com/repos/ethereum/web3.js/issues/comments/447280447', 'html_url': 'https://github.com/ethereum/web3.js/issues/2085#issuecomment-447280447', 'issue_url': 'https://api.github.com/repos/ethereum/web3.js/issues/2085', 'id': 447280447, 'node_id': 'MDEyOklzc3VlQ29tbWVudDQ0NzI4MDQ0Nw==', 'user': {'login': 'joshstevens19', 'id': 18472422, 'node_id': 'MDQ6VXNlcjE4NDcyNDIy', 'avatar_url': 'https://avatars0.githubusercontent.com/u/18472422?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/joshstevens19', 'html_url': 'https://github.com/joshstevens19', 'followers_url': 'https://api.github.com/users/joshstevens19/followers', 'following_url': 'https://api.github.com/users/joshstevens19/following{/other_user}', 'gists_url': 'https://api.github.com/users/joshstevens19/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/joshstevens19/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/joshstevens19/subscriptions', 'organizations_url': 'https://api.github.com/users/joshstevens19/orgs', 'repos_url': 'https://api.github.com/users/joshstevens19/repos', 'events_url': 'https://api.github.com/users/joshstevens19/events{/privacy}', 'received_events_url': 'https://api.github.com/users/joshstevens19/received_events', 'type': 'User', 'site_admin': False}, 'created_at': '2018-12-14T10:17:20Z', 'updated_at': '2018-12-14T10:17:20Z', 'author_association': 'COLLABORATOR', 'body': 'PR number 10 - https://github.com/ethereum/web3.js/pull/2122'}}, 'public': True, 'created_at': '2018-12-14T10:17:20Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754009907', 'type': 'GollumEvent', 'actor': {'id': 45840931, 'login': 'totaking', 'display_login': 'totaking', 'gravatar_id': '', 'url': 'https://api.github.com/users/totaking', 'avatar_url': 'https://avatars.githubusercontent.com/u/45840931?'}, 'repo': {'id': 16852060, 'name': 'ethereum/wiki', 'url': 'https://api.github.com/repos/ethereum/wiki'}, 'payload': {'pages': [{'page_name': 'Home', 'title': 'Home', 'summary': None, 'action': 'edited', 'sha': '8f56ddb559885e05d89230f9072293d14f1945b6', 'html_url': 'https://github.com/ethereum/wiki/wiki/Home'}]}, 'public': True, 'created_at': '2018-12-14T10:17:14Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754005666', 'type': 'GollumEvent', 'actor': {'id': 45840931, 'login': 'totaking', 'display_login': 'totaking', 'gravatar_id': '', 'url': 'https://api.github.com/users/totaking', 'avatar_url': 'https://avatars.githubusercontent.com/u/45840931?'}, 'repo': {'id': 16852060, 'name': 'ethereum/wiki', 'url': 'https://api.github.com/repos/ethereum/wiki'}, 'payload': {'pages': [{'page_name': 'Home', 'title': 'Home', 'summary': None, 'action': 'edited', 'sha': '8efd262bb66706ae968a59cf51241a692bab4956', 'html_url': 'https://github.com/ethereum/wiki/wiki/Home'}]}, 'public': True, 'created_at': '2018-12-14T10:16:29Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754002765', 'type': 'PushEvent', 'actor': {'id': 142290, 'login': 'holiman', 'display_login': 'holiman', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'avatar_url': 'https://avatars.githubusercontent.com/u/142290?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'push_id': 3137406190, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/master', 'head': '9940d93a43bab1f060e8fbfadff510c3298f2726', 'before': '3796751efcc3fab71799450f1bff370d081438ec', 'commits': [{'sha': '9940d93a43bab1f060e8fbfadff510c3298f2726', 'author': {'email': '[email protected]', 'name': 'qd-ethan'}, 'message': 'Comment error (#18303)', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/go-ethereum/commits/9940d93a43bab1f060e8fbfadff510c3298f2726'}]}, 'public': True, 'created_at': '2018-12-14T10:15:58Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754001592', 'type': 'PullRequestEvent', 'actor': {'id': 18472422, 'login': 'joshstevens19', 'display_login': 'joshstevens19', 'gravatar_id': '', 'url': 'https://api.github.com/users/joshstevens19', 'avatar_url': 'https://avatars.githubusercontent.com/u/18472422?'}, 'repo': {'id': 24655114, 'name': 'ethereum/web3.js', 'url': 'https://api.github.com/repos/ethereum/web3.js'}, 'payload': {'action': 'opened', 'number': 2122, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/web3.js/pulls/2122', 'id': 238671709, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM4NjcxNzA5', 'html_url': 'https://github.com/ethereum/web3.js/pull/2122', 'diff_url': 'https://github.com/ethereum/web3.js/pull/2122.diff', 'patch_url': 'https://github.com/ethereum/web3.js/pull/2122.patch', 'issue_url': 'https://api.github.com/repos/ethereum/web3.js/issues/2122', 'number': 2122, 'state': 'open', 'locked': False, 'title': 'Web3 eth', 'user': {'login': 'joshstevens19', 'id': 18472422, 'node_id': 'MDQ6VXNlcjE4NDcyNDIy', 'avatar_url': 'https://avatars0.githubusercontent.com/u/18472422?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/joshstevens19', 'html_url': 'https://github.com/joshstevens19', 'followers_url': 'https://api.github.com/users/joshstevens19/followers', 'following_url': 'https://api.github.com/users/joshstevens19/following{/other_user}', 'gists_url': 'https://api.github.com/users/joshstevens19/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/joshstevens19/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/joshstevens19/subscriptions', 'organizations_url': 'https://api.github.com/users/joshstevens19/orgs', 'repos_url': 'https://api.github.com/users/joshstevens19/repos', 'events_url': 'https://api.github.com/users/joshstevens19/events{/privacy}', 'received_events_url': 'https://api.github.com/users/joshstevens19/received_events', 'type': 'User', 'site_admin': False}, 'body': 'web3-eth types 👍 ', 'created_at': '2018-12-14T10:15:45Z', 'updated_at': '2018-12-14T10:15:45Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': None, 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/web3.js/pulls/2122/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/web3.js/pulls/2122/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/web3.js/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/web3.js/issues/2122/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/web3.js/statuses/d1e648444943a877441a69a535ec60dcf3d04e7d', 'head': {'label': 'joshstevens19:web3-eth', 'ref': 'web3-eth', 'sha': 'd1e648444943a877441a69a535ec60dcf3d04e7d', 'user': {'login': 'joshstevens19', 'id': 18472422, 'node_id': 'MDQ6VXNlcjE4NDcyNDIy', 'avatar_url': 'https://avatars0.githubusercontent.com/u/18472422?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/joshstevens19', 'html_url': 'https://github.com/joshstevens19', 'followers_url': 'https://api.github.com/users/joshstevens19/followers', 'following_url': 'https://api.github.com/users/joshstevens19/following{/other_user}', 'gists_url': 'https://api.github.com/users/joshstevens19/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/joshstevens19/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/joshstevens19/subscriptions', 'organizations_url': 'https://api.github.com/users/joshstevens19/orgs', 'repos_url': 'https://api.github.com/users/joshstevens19/repos', 'events_url': 'https://api.github.com/users/joshstevens19/events{/privacy}', 'received_events_url': 'https://api.github.com/users/joshstevens19/received_events', 'type': 'User', 'site_admin': False}, 'repo': {'id': 156678793, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNTY2Nzg3OTM=', 'name': 'web3.js', 'full_name': 'joshstevens19/web3.js', 'private': False, 'owner': {'login': 'joshstevens19', 'id': 18472422, 'node_id': 'MDQ6VXNlcjE4NDcyNDIy', 'avatar_url': 'https://avatars0.githubusercontent.com/u/18472422?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/joshstevens19', 'html_url': 'https://github.com/joshstevens19', 'followers_url': 'https://api.github.com/users/joshstevens19/followers', 'following_url': 'https://api.github.com/users/joshstevens19/following{/other_user}', 'gists_url': 'https://api.github.com/users/joshstevens19/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/joshstevens19/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/joshstevens19/subscriptions', 'organizations_url': 'https://api.github.com/users/joshstevens19/orgs', 'repos_url': 'https://api.github.com/users/joshstevens19/repos', 'events_url': 'https://api.github.com/users/joshstevens19/events{/privacy}', 'received_events_url': 'https://api.github.com/users/joshstevens19/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/joshstevens19/web3.js', 'description': 'Ethereum JavaScript API', 'fork': True, 'url': 'https://api.github.com/repos/joshstevens19/web3.js', 'forks_url': 'https://api.github.com/repos/joshstevens19/web3.js/forks', 'keys_url': 'https://api.github.com/repos/joshstevens19/web3.js/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/joshstevens19/web3.js/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/joshstevens19/web3.js/teams', 'hooks_url': 'https://api.github.com/repos/joshstevens19/web3.js/hooks', 'issue_events_url': 'https://api.github.com/repos/joshstevens19/web3.js/issues/events{/number}', 'events_url': 'https://api.github.com/repos/joshstevens19/web3.js/events', 'assignees_url': 'https://api.github.com/repos/joshstevens19/web3.js/assignees{/user}', 'branches_url': 'https://api.github.com/repos/joshstevens19/web3.js/branches{/branch}', 'tags_url': 'https://api.github.com/repos/joshstevens19/web3.js/tags', 'blobs_url': 'https://api.github.com/repos/joshstevens19/web3.js/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/joshstevens19/web3.js/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/joshstevens19/web3.js/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/joshstevens19/web3.js/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/joshstevens19/web3.js/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/joshstevens19/web3.js/languages', 'stargazers_url': 'https://api.github.com/repos/joshstevens19/web3.js/stargazers', 'contributors_url': 'https://api.github.com/repos/joshstevens19/web3.js/contributors', 'subscribers_url': 'https://api.github.com/repos/joshstevens19/web3.js/subscribers', 'subscription_url': 'https://api.github.com/repos/joshstevens19/web3.js/subscription', 'commits_url': 'https://api.github.com/repos/joshstevens19/web3.js/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/joshstevens19/web3.js/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/joshstevens19/web3.js/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/joshstevens19/web3.js/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/joshstevens19/web3.js/contents/{+path}', 'compare_url': 'https://api.github.com/repos/joshstevens19/web3.js/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/joshstevens19/web3.js/merges', 'archive_url': 'https://api.github.com/repos/joshstevens19/web3.js/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/joshstevens19/web3.js/downloads', 'issues_url': 'https://api.github.com/repos/joshstevens19/web3.js/issues{/number}', 'pulls_url': 'https://api.github.com/repos/joshstevens19/web3.js/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/joshstevens19/web3.js/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/joshstevens19/web3.js/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/joshstevens19/web3.js/labels{/name}', 'releases_url': 'https://api.github.com/repos/joshstevens19/web3.js/releases{/id}', 'deployments_url': 'https://api.github.com/repos/joshstevens19/web3.js/deployments', 'created_at': '2018-11-08T09:02:56Z', 'updated_at': '2018-11-17T23:52:35Z', 'pushed_at': '2018-12-14T10:15:02Z', 'git_url': 'git://github.com/joshstevens19/web3.js.git', 'ssh_url': '[email protected]:joshstevens19/web3.js.git', 'clone_url': 'https://github.com/joshstevens19/web3.js.git', 'svn_url': 'https://github.com/joshstevens19/web3.js', 'homepage': '', 'size': 36736, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'JavaScript', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'develop'}}, 'base': {'label': 'ethereum:ethereumProvider', 'ref': 'ethereumProvider', 'sha': '6517f4f64a4a0610254c9b9fe19f6d50207773a0', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 24655114, 'node_id': 'MDEwOlJlcG9zaXRvcnkyNDY1NTExNA==', 'name': 'web3.js', 'full_name': 'ethereum/web3.js', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/web3.js', 'description': 'Ethereum JavaScript API', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/web3.js', 'forks_url': 'https://api.github.com/repos/ethereum/web3.js/forks', 'keys_url': 'https://api.github.com/repos/ethereum/web3.js/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/web3.js/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/web3.js/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/web3.js/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/web3.js/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/web3.js/events', 'assignees_url': 'https://api.github.com/repos/ethereum/web3.js/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/web3.js/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/web3.js/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/web3.js/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/web3.js/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/web3.js/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/web3.js/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/web3.js/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/web3.js/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/web3.js/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/web3.js/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/web3.js/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/web3.js/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/web3.js/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/web3.js/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/web3.js/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/web3.js/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/web3.js/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/web3.js/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/web3.js/merges', 'archive_url': 'https://api.github.com/repos/ethereum/web3.js/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/web3.js/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/web3.js/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/web3.js/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/web3.js/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/web3.js/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/web3.js/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/web3.js/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/web3.js/deployments', 'created_at': '2014-09-30T20:50:37Z', 'updated_at': '2018-12-14T09:59:26Z', 'pushed_at': '2018-12-13T22:48:47Z', 'git_url': 'git://github.com/ethereum/web3.js.git', 'ssh_url': '[email protected]:ethereum/web3.js.git', 'clone_url': 'https://github.com/ethereum/web3.js.git', 'svn_url': 'https://github.com/ethereum/web3.js', 'homepage': '', 'size': 36484, 'stargazers_count': 7317, 'watchers_count': 7317, 'language': 'JavaScript', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 2181, 'mirror_url': None, 'archived': False, 'open_issues_count': 368, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'forks': 2181, 'open_issues': 368, 'watchers': 7317, 'default_branch': 'develop'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/web3.js/pulls/2122'}, 'html': {'href': 'https://github.com/ethereum/web3.js/pull/2122'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/web3.js/issues/2122'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/web3.js/issues/2122/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/web3.js/pulls/2122/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/web3.js/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/web3.js/pulls/2122/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/web3.js/statuses/d1e648444943a877441a69a535ec60dcf3d04e7d'}}, 'author_association': 'COLLABORATOR', 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 7, 'additions': 724, 'deletions': 9, 'changed_files': 7}}, 'public': True, 'created_at': '2018-12-14T10:15:45Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8754000431', 'type': 'PullRequestEvent', 'actor': {'id': 142290, 'login': 'holiman', 'display_login': 'holiman', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'avatar_url': 'https://avatars.githubusercontent.com/u/142290?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'action': 'closed', 'number': 18303, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18303', 'id': 238355051, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM4MzU1MDUx', 'html_url': 'https://github.com/ethereum/go-ethereum/pull/18303', 'diff_url': 'https://github.com/ethereum/go-ethereum/pull/18303.diff', 'patch_url': 'https://github.com/ethereum/go-ethereum/pull/18303.patch', 'issue_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18303', 'number': 18303, 'state': 'closed', 'locked': False, 'title': 'core/tx_cacher: Small comment error', 'user': {'login': 'qdgogogo', 'id': 31876119, 'node_id': 'MDQ6VXNlcjMxODc2MTE5', 'avatar_url': 'https://avatars2.githubusercontent.com/u/31876119?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/qdgogogo', 'html_url': 'https://github.com/qdgogogo', 'followers_url': 'https://api.github.com/users/qdgogogo/followers', 'following_url': 'https://api.github.com/users/qdgogogo/following{/other_user}', 'gists_url': 'https://api.github.com/users/qdgogogo/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/qdgogogo/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/qdgogogo/subscriptions', 'organizations_url': 'https://api.github.com/users/qdgogogo/orgs', 'repos_url': 'https://api.github.com/users/qdgogogo/repos', 'events_url': 'https://api.github.com/users/qdgogogo/events{/privacy}', 'received_events_url': 'https://api.github.com/users/qdgogogo/received_events', 'type': 'User', 'site_admin': False}, 'body': 'This is just a comment word misspelled', 'created_at': '2018-12-13T11:27:18Z', 'updated_at': '2018-12-14T10:15:32Z', 'closed_at': '2018-12-14T10:15:32Z', 'merged_at': '2018-12-14T10:15:32Z', 'merge_commit_sha': '9940d93a43bab1f060e8fbfadff510c3298f2726', 'assignee': None, 'assignees': [], 'requested_reviewers': [{'login': 'karalabe', 'id': 129561, 'node_id': 'MDQ6VXNlcjEyOTU2MQ==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/129561?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/karalabe', 'html_url': 'https://github.com/karalabe', 'followers_url': 'https://api.github.com/users/karalabe/followers', 'following_url': 'https://api.github.com/users/karalabe/following{/other_user}', 'gists_url': 'https://api.github.com/users/karalabe/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/karalabe/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/karalabe/subscriptions', 'organizations_url': 'https://api.github.com/users/karalabe/orgs', 'repos_url': 'https://api.github.com/users/karalabe/repos', 'events_url': 'https://api.github.com/users/karalabe/events{/privacy}', 'received_events_url': 'https://api.github.com/users/karalabe/received_events', 'type': 'User', 'site_admin': False}], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18303/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18303/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18303/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/go-ethereum/statuses/60a98b030d1bd2744c73f00830966cf2307d646b', 'head': {'label': 'qdgogogo:master', 'ref': 'master', 'sha': '60a98b030d1bd2744c73f00830966cf2307d646b', 'user': {'login': 'qdgogogo', 'id': 31876119, 'node_id': 'MDQ6VXNlcjMxODc2MTE5', 'avatar_url': 'https://avatars2.githubusercontent.com/u/31876119?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/qdgogogo', 'html_url': 'https://github.com/qdgogogo', 'followers_url': 'https://api.github.com/users/qdgogogo/followers', 'following_url': 'https://api.github.com/users/qdgogogo/following{/other_user}', 'gists_url': 'https://api.github.com/users/qdgogogo/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/qdgogogo/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/qdgogogo/subscriptions', 'organizations_url': 'https://api.github.com/users/qdgogogo/orgs', 'repos_url': 'https://api.github.com/users/qdgogogo/repos', 'events_url': 'https://api.github.com/users/qdgogogo/events{/privacy}', 'received_events_url': 'https://api.github.com/users/qdgogogo/received_events', 'type': 'User', 'site_admin': False}, 'repo': {'id': 153065737, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNTMwNjU3Mzc=', 'name': 'go-ethereum', 'full_name': 'qdgogogo/go-ethereum', 'private': False, 'owner': {'login': 'qdgogogo', 'id': 31876119, 'node_id': 'MDQ6VXNlcjMxODc2MTE5', 'avatar_url': 'https://avatars2.githubusercontent.com/u/31876119?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/qdgogogo', 'html_url': 'https://github.com/qdgogogo', 'followers_url': 'https://api.github.com/users/qdgogogo/followers', 'following_url': 'https://api.github.com/users/qdgogogo/following{/other_user}', 'gists_url': 'https://api.github.com/users/qdgogogo/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/qdgogogo/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/qdgogogo/subscriptions', 'organizations_url': 'https://api.github.com/users/qdgogogo/orgs', 'repos_url': 'https://api.github.com/users/qdgogogo/repos', 'events_url': 'https://api.github.com/users/qdgogogo/events{/privacy}', 'received_events_url': 'https://api.github.com/users/qdgogogo/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/qdgogogo/go-ethereum', 'description': 'Official Go implementation of the Ethereum protocol', 'fork': True, 'url': 'https://api.github.com/repos/qdgogogo/go-ethereum', 'forks_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/forks', 'keys_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/teams', 'hooks_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/hooks', 'issue_events_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/issues/events{/number}', 'events_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/events', 'assignees_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/assignees{/user}', 'branches_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/branches{/branch}', 'tags_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/tags', 'blobs_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/languages', 'stargazers_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/stargazers', 'contributors_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/contributors', 'subscribers_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/subscribers', 'subscription_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/subscription', 'commits_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/contents/{+path}', 'compare_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/merges', 'archive_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/downloads', 'issues_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/issues{/number}', 'pulls_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/labels{/name}', 'releases_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/releases{/id}', 'deployments_url': 'https://api.github.com/repos/qdgogogo/go-ethereum/deployments', 'created_at': '2018-10-15T06:48:24Z', 'updated_at': '2018-12-13T11:22:28Z', 'pushed_at': '2018-12-13T11:22:21Z', 'git_url': 'git://github.com/qdgogogo/go-ethereum.git', 'ssh_url': '[email protected]:qdgogogo/go-ethereum.git', 'clone_url': 'https://github.com/qdgogogo/go-ethereum.git', 'svn_url': 'https://github.com/qdgogogo/go-ethereum', 'homepage': 'https://geth.ethereum.org', 'size': 106813, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'Go', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'open_issues_count': 0, 'license': {'key': 'lgpl-3.0', 'name': 'GNU Lesser General Public License v3.0', 'spdx_id': 'LGPL-3.0', 'url': 'https://api.github.com/licenses/lgpl-3.0', 'node_id': 'MDc6TGljZW5zZTEy'}, 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master'}}, 'base': {'label': 'ethereum:master', 'ref': 'master', 'sha': 'e57e4571d3382c504a01f87be654d984f26e2dd1', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 15452919, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNTQ1MjkxOQ==', 'name': 'go-ethereum', 'full_name': 'ethereum/go-ethereum', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/go-ethereum', 'description': 'Official Go implementation of the Ethereum protocol', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/go-ethereum', 'forks_url': 'https://api.github.com/repos/ethereum/go-ethereum/forks', 'keys_url': 'https://api.github.com/repos/ethereum/go-ethereum/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/go-ethereum/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/go-ethereum/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/go-ethereum/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/go-ethereum/events', 'assignees_url': 'https://api.github.com/repos/ethereum/go-ethereum/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/go-ethereum/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/go-ethereum/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/go-ethereum/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/go-ethereum/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/go-ethereum/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/go-ethereum/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/go-ethereum/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/go-ethereum/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/go-ethereum/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/go-ethereum/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/go-ethereum/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/go-ethereum/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/go-ethereum/merges', 'archive_url': 'https://api.github.com/repos/ethereum/go-ethereum/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/go-ethereum/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/go-ethereum/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/go-ethereum/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/go-ethereum/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/go-ethereum/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/go-ethereum/deployments', 'created_at': '2013-12-26T13:05:46Z', 'updated_at': '2018-12-14T10:08:49Z', 'pushed_at': '2018-12-14T10:15:32Z', 'git_url': 'git://github.com/ethereum/go-ethereum.git', 'ssh_url': '[email protected]:ethereum/go-ethereum.git', 'clone_url': 'https://github.com/ethereum/go-ethereum.git', 'svn_url': 'https://github.com/ethereum/go-ethereum', 'homepage': 'https://geth.ethereum.org', 'size': 107613, 'stargazers_count': 22062, 'watchers_count': 22062, 'language': 'Go', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': True, 'forks_count': 7712, 'mirror_url': None, 'archived': False, 'open_issues_count': 853, 'license': {'key': 'lgpl-3.0', 'name': 'GNU Lesser General Public License v3.0', 'spdx_id': 'LGPL-3.0', 'url': 'https://api.github.com/licenses/lgpl-3.0', 'node_id': 'MDc6TGljZW5zZTEy'}, 'forks': 7712, 'open_issues': 853, 'watchers': 22062, 'default_branch': 'master'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18303'}, 'html': {'href': 'https://github.com/ethereum/go-ethereum/pull/18303'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18303'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18303/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18303/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18303/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/statuses/60a98b030d1bd2744c73f00830966cf2307d646b'}}, 'author_association': 'NONE', 'merged': True, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': False, 'commits': 1, 'additions': 1, 'deletions': 1, 'changed_files': 1}}, 'public': True, 'created_at': '2018-12-14T10:15:32Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753992098', 'type': 'PullRequestEvent', 'actor': {'id': 142290, 'login': 'holiman', 'display_login': 'holiman', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'avatar_url': 'https://avatars.githubusercontent.com/u/142290?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'action': 'closed', 'number': 18294, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18294', 'id': 238272662, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM4MjcyNjYy', 'html_url': 'https://github.com/ethereum/go-ethereum/pull/18294', 'diff_url': 'https://github.com/ethereum/go-ethereum/pull/18294.diff', 'patch_url': 'https://github.com/ethereum/go-ethereum/pull/18294.patch', 'issue_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18294', 'number': 18294, 'state': 'closed', 'locked': False, 'title': 'Update interfaces.go', 'user': {'login': 'shangsony', 'id': 19890858, 'node_id': 'MDQ6VXNlcjE5ODkwODU4', 'avatar_url': 'https://avatars0.githubusercontent.com/u/19890858?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/shangsony', 'html_url': 'https://github.com/shangsony', 'followers_url': 'https://api.github.com/users/shangsony/followers', 'following_url': 'https://api.github.com/users/shangsony/following{/other_user}', 'gists_url': 'https://api.github.com/users/shangsony/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/shangsony/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/shangsony/subscriptions', 'organizations_url': 'https://api.github.com/users/shangsony/orgs', 'repos_url': 'https://api.github.com/users/shangsony/repos', 'events_url': 'https://api.github.com/users/shangsony/events{/privacy}', 'received_events_url': 'https://api.github.com/users/shangsony/received_events', 'type': 'User', 'site_admin': False}, 'body': '', 'created_at': '2018-12-13T05:52:56Z', 'updated_at': '2018-12-14T10:14:00Z', 'closed_at': '2018-12-14T10:14:00Z', 'merged_at': None, 'merge_commit_sha': '68fe4ea495ce2d9048821926bbecfe07c824fd05', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18294/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18294/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18294/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/go-ethereum/statuses/5daec733cc12f5be4e953f64bfdb788bfe731079', 'head': {'label': 'shangsony:patch-1', 'ref': 'patch-1', 'sha': '5daec733cc12f5be4e953f64bfdb788bfe731079', 'user': {'login': 'shangsony', 'id': 19890858, 'node_id': 'MDQ6VXNlcjE5ODkwODU4', 'avatar_url': 'https://avatars0.githubusercontent.com/u/19890858?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/shangsony', 'html_url': 'https://github.com/shangsony', 'followers_url': 'https://api.github.com/users/shangsony/followers', 'following_url': 'https://api.github.com/users/shangsony/following{/other_user}', 'gists_url': 'https://api.github.com/users/shangsony/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/shangsony/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/shangsony/subscriptions', 'organizations_url': 'https://api.github.com/users/shangsony/orgs', 'repos_url': 'https://api.github.com/users/shangsony/repos', 'events_url': 'https://api.github.com/users/shangsony/events{/privacy}', 'received_events_url': 'https://api.github.com/users/shangsony/received_events', 'type': 'User', 'site_admin': False}, 'repo': {'id': 161590474, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjE1OTA0NzQ=', 'name': 'go-ethereum', 'full_name': 'shangsony/go-ethereum', 'private': False, 'owner': {'login': 'shangsony', 'id': 19890858, 'node_id': 'MDQ6VXNlcjE5ODkwODU4', 'avatar_url': 'https://avatars0.githubusercontent.com/u/19890858?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/shangsony', 'html_url': 'https://github.com/shangsony', 'followers_url': 'https://api.github.com/users/shangsony/followers', 'following_url': 'https://api.github.com/users/shangsony/following{/other_user}', 'gists_url': 'https://api.github.com/users/shangsony/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/shangsony/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/shangsony/subscriptions', 'organizations_url': 'https://api.github.com/users/shangsony/orgs', 'repos_url': 'https://api.github.com/users/shangsony/repos', 'events_url': 'https://api.github.com/users/shangsony/events{/privacy}', 'received_events_url': 'https://api.github.com/users/shangsony/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/shangsony/go-ethereum', 'description': 'Official Go implementation of the Ethereum protocol', 'fork': True, 'url': 'https://api.github.com/repos/shangsony/go-ethereum', 'forks_url': 'https://api.github.com/repos/shangsony/go-ethereum/forks', 'keys_url': 'https://api.github.com/repos/shangsony/go-ethereum/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/shangsony/go-ethereum/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/shangsony/go-ethereum/teams', 'hooks_url': 'https://api.github.com/repos/shangsony/go-ethereum/hooks', 'issue_events_url': 'https://api.github.com/repos/shangsony/go-ethereum/issues/events{/number}', 'events_url': 'https://api.github.com/repos/shangsony/go-ethereum/events', 'assignees_url': 'https://api.github.com/repos/shangsony/go-ethereum/assignees{/user}', 'branches_url': 'https://api.github.com/repos/shangsony/go-ethereum/branches{/branch}', 'tags_url': 'https://api.github.com/repos/shangsony/go-ethereum/tags', 'blobs_url': 'https://api.github.com/repos/shangsony/go-ethereum/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/shangsony/go-ethereum/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/shangsony/go-ethereum/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/shangsony/go-ethereum/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/shangsony/go-ethereum/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/shangsony/go-ethereum/languages', 'stargazers_url': 'https://api.github.com/repos/shangsony/go-ethereum/stargazers', 'contributors_url': 'https://api.github.com/repos/shangsony/go-ethereum/contributors', 'subscribers_url': 'https://api.github.com/repos/shangsony/go-ethereum/subscribers', 'subscription_url': 'https://api.github.com/repos/shangsony/go-ethereum/subscription', 'commits_url': 'https://api.github.com/repos/shangsony/go-ethereum/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/shangsony/go-ethereum/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/shangsony/go-ethereum/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/shangsony/go-ethereum/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/shangsony/go-ethereum/contents/{+path}', 'compare_url': 'https://api.github.com/repos/shangsony/go-ethereum/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/shangsony/go-ethereum/merges', 'archive_url': 'https://api.github.com/repos/shangsony/go-ethereum/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/shangsony/go-ethereum/downloads', 'issues_url': 'https://api.github.com/repos/shangsony/go-ethereum/issues{/number}', 'pulls_url': 'https://api.github.com/repos/shangsony/go-ethereum/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/shangsony/go-ethereum/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/shangsony/go-ethereum/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/shangsony/go-ethereum/labels{/name}', 'releases_url': 'https://api.github.com/repos/shangsony/go-ethereum/releases{/id}', 'deployments_url': 'https://api.github.com/repos/shangsony/go-ethereum/deployments', 'created_at': '2018-12-13T05:51:54Z', 'updated_at': '2018-12-13T05:52:05Z', 'pushed_at': '2018-12-13T05:52:44Z', 'git_url': 'git://github.com/shangsony/go-ethereum.git', 'ssh_url': '[email protected]:shangsony/go-ethereum.git', 'clone_url': 'https://github.com/shangsony/go-ethereum.git', 'svn_url': 'https://github.com/shangsony/go-ethereum', 'homepage': 'https://geth.ethereum.org', 'size': 107603, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'Go', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'open_issues_count': 0, 'license': {'key': 'lgpl-3.0', 'name': 'GNU Lesser General Public License v3.0', 'spdx_id': 'LGPL-3.0', 'url': 'https://api.github.com/licenses/lgpl-3.0', 'node_id': 'MDc6TGljZW5zZTEy'}, 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master'}}, 'base': {'label': 'ethereum:master', 'ref': 'master', 'sha': '4e6f53ac3360c4e90fdb419e7073e4316b2a49f7', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 15452919, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNTQ1MjkxOQ==', 'name': 'go-ethereum', 'full_name': 'ethereum/go-ethereum', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/go-ethereum', 'description': 'Official Go implementation of the Ethereum protocol', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/go-ethereum', 'forks_url': 'https://api.github.com/repos/ethereum/go-ethereum/forks', 'keys_url': 'https://api.github.com/repos/ethereum/go-ethereum/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/go-ethereum/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/go-ethereum/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/go-ethereum/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/go-ethereum/events', 'assignees_url': 'https://api.github.com/repos/ethereum/go-ethereum/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/go-ethereum/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/go-ethereum/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/go-ethereum/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/go-ethereum/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/go-ethereum/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/go-ethereum/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/go-ethereum/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/go-ethereum/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/go-ethereum/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/go-ethereum/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/go-ethereum/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/go-ethereum/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/go-ethereum/merges', 'archive_url': 'https://api.github.com/repos/ethereum/go-ethereum/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/go-ethereum/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/go-ethereum/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/go-ethereum/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/go-ethereum/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/go-ethereum/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/go-ethereum/deployments', 'created_at': '2013-12-26T13:05:46Z', 'updated_at': '2018-12-14T10:08:49Z', 'pushed_at': '2018-12-14T10:08:12Z', 'git_url': 'git://github.com/ethereum/go-ethereum.git', 'ssh_url': '[email protected]:ethereum/go-ethereum.git', 'clone_url': 'https://github.com/ethereum/go-ethereum.git', 'svn_url': 'https://github.com/ethereum/go-ethereum', 'homepage': 'https://geth.ethereum.org', 'size': 107613, 'stargazers_count': 22062, 'watchers_count': 22062, 'language': 'Go', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': True, 'forks_count': 7712, 'mirror_url': None, 'archived': False, 'open_issues_count': 854, 'license': {'key': 'lgpl-3.0', 'name': 'GNU Lesser General Public License v3.0', 'spdx_id': 'LGPL-3.0', 'url': 'https://api.github.com/licenses/lgpl-3.0', 'node_id': 'MDc6TGljZW5zZTEy'}, 'forks': 7712, 'open_issues': 854, 'watchers': 22062, 'default_branch': 'master'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18294'}, 'html': {'href': 'https://github.com/ethereum/go-ethereum/pull/18294'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18294'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18294/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18294/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18294/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/statuses/5daec733cc12f5be4e953f64bfdb788bfe731079'}}, 'author_association': 'NONE', 'merged': False, 'mergeable': True, 'rebaseable': True, 'mergeable_state': 'unstable', 'merged_by': None, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': False, 'commits': 1, 'additions': 0, 'deletions': 0, 'changed_files': 0}}, 'public': True, 'created_at': '2018-12-14T10:14:01Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753984053', 'type': 'PullRequestReviewCommentEvent', 'actor': {'id': 56763, 'login': 'christianparpart', 'display_login': 'christianparpart', 'gravatar_id': '', 'url': 'https://api.github.com/users/christianparpart', 'avatar_url': 'https://avatars.githubusercontent.com/u/56763?'}, 'repo': {'id': 40892817, 'name': 'ethereum/solidity', 'url': 'https://api.github.com/repos/ethereum/solidity'}, 'payload': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/ethereum/solidity/pulls/comments/241703523', 'pull_request_review_id': 185042776, 'id': 241703523, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MTcwMzUyMw==', 'diff_hunk': '@@ -31,28 +31,27 @@ namespace langutil\n \n struct LineColumn\n {\n-\tint line;\n-\tint column;\n+\tint line {-1};\n+\tint column {-1};\n \n+\tLineColumn() = default;\n \tLineColumn(std::tuple<int, int> const& _t): line{std::get<0>(_t)}, column{std::get<1>(_t)} {}\n-\tLineColumn(int _line, int _column): line{_line}, column{_column} {}\n-\tLineColumn(): line{-1}, column{-1} {}\n };\n \n struct SourceReference\n {\n-\tstd::string message;    ///< A message that relates to this source reference (such as a warning or an error message).\n-\tstd::string sourceName; ///< Underlying source name (for example the filename).\n-\tLineColumn position;    ///< Actual (error) position this source reference is surrounding.\n-\tbool multiline;         ///< Indicates whether the actual SourceReference is truncated to one line.\n-\tstd::string text;       ///< Extracted source code text (potentially truncated if multiline or too long).\n-\tint startColumn;        ///< Highlighting range-start of text field.\n-\tint endColumn;          ///< Highlighting range-end of text field.\n+\tstd::string message {};    ///< A message that relates to this source reference (such as a warning or an error message).', 'path': 'liblangutil/SourceReferenceExtractor.h', 'position': 24, 'original_position': 24, 'commit_id': '2b5bc6d892375402fedaa30a53eae992fb7aeceb', 'original_commit_id': '2b5bc6d892375402fedaa30a53eae992fb7aeceb', 'user': {'login': 'christianparpart', 'id': 56763, 'node_id': 'MDQ6VXNlcjU2NzYz', 'avatar_url': 'https://avatars1.githubusercontent.com/u/56763?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/christianparpart', 'html_url': 'https://github.com/christianparpart', 'followers_url': 'https://api.github.com/users/christianparpart/followers', 'following_url': 'https://api.github.com/users/christianparpart/following{/other_user}', 'gists_url': 'https://api.github.com/users/christianparpart/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/christianparpart/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/christianparpart/subscriptions', 'organizations_url': 'https://api.github.com/users/christianparpart/orgs', 'repos_url': 'https://api.github.com/users/christianparpart/repos', 'events_url': 'https://api.github.com/users/christianparpart/events{/privacy}', 'received_events_url': 'https://api.github.com/users/christianparpart/received_events', 'type': 'User', 'site_admin': False}, 'body': "@ekpyron Actually it does make sense the way I wrote it, here, because it eliminates the need of constructors as long as you don't need custom logic in the constructor bodies.", 'created_at': '2018-12-14T10:12:32Z', 'updated_at': '2018-12-14T10:12:33Z', 'html_url': 'https://github.com/ethereum/solidity/pull/5635#discussion_r241703523', 'pull_request_url': 'https://api.github.com/repos/ethereum/solidity/pulls/5635', 'author_association': 'CONTRIBUTOR', '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/solidity/pulls/comments/241703523'}, 'html': {'href': 'https://github.com/ethereum/solidity/pull/5635#discussion_r241703523'}, 'pull_request': {'href': 'https://api.github.com/repos/ethereum/solidity/pulls/5635'}}, 'in_reply_to_id': 241059594}, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/solidity/pulls/5635', 'id': 238044883, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM4MDQ0ODgz', 'html_url': 'https://github.com/ethereum/solidity/pull/5635', 'diff_url': 'https://github.com/ethereum/solidity/pull/5635.diff', 'patch_url': 'https://github.com/ethereum/solidity/pull/5635.patch', 'issue_url': 'https://api.github.com/repos/ethereum/solidity/issues/5635', 'number': 5635, 'state': 'open', 'locked': False, 'title': '[RFC] C++ `=default` ctors/dtors and the use of non-static member initializer syntax.', 'user': {'login': 'christianparpart', 'id': 56763, 'node_id': 'MDQ6VXNlcjU2NzYz', 'avatar_url': 'https://avatars1.githubusercontent.com/u/56763?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/christianparpart', 'html_url': 'https://github.com/christianparpart', 'followers_url': 'https://api.github.com/users/christianparpart/followers', 'following_url': 'https://api.github.com/users/christianparpart/following{/other_user}', 'gists_url': 'https://api.github.com/users/christianparpart/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/christianparpart/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/christianparpart/subscriptions', 'organizations_url': 'https://api.github.com/users/christianparpart/orgs', 'repos_url': 'https://api.github.com/users/christianparpart/repos', 'events_url': 'https://api.github.com/users/christianparpart/events{/privacy}', 'received_events_url': 'https://api.github.com/users/christianparpart/received_events', 'type': 'User', 'site_admin': False}, 'body': '', 'created_at': '2018-12-12T13:53:00Z', 'updated_at': '2018-12-14T10:12:33Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'ebdc7d69a17b20818e1cf87235086477ca085178', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/solidity/pulls/5635/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/solidity/pulls/5635/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/solidity/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/solidity/issues/5635/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/solidity/statuses/2b5bc6d892375402fedaa30a53eae992fb7aeceb', 'head': {'label': 'ethereum:cpp-default-ctors', 'ref': 'cpp-default-ctors', 'sha': '2b5bc6d892375402fedaa30a53eae992fb7aeceb', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 40892817, 'node_id': 'MDEwOlJlcG9zaXRvcnk0MDg5MjgxNw==', 'name': 'solidity', 'full_name': 'ethereum/solidity', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/solidity', 'description': 'Solidity, the Contract-Oriented Programming Language', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/solidity', 'forks_url': 'https://api.github.com/repos/ethereum/solidity/forks', 'keys_url': 'https://api.github.com/repos/ethereum/solidity/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/solidity/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/solidity/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/solidity/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/solidity/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/solidity/events', 'assignees_url': 'https://api.github.com/repos/ethereum/solidity/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/solidity/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/solidity/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/solidity/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/solidity/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/solidity/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/solidity/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/solidity/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/solidity/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/solidity/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/solidity/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/solidity/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/solidity/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/solidity/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/solidity/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/solidity/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/solidity/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/solidity/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/solidity/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/solidity/merges', 'archive_url': 'https://api.github.com/repos/ethereum/solidity/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/solidity/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/solidity/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/solidity/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/solidity/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/solidity/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/solidity/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/solidity/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/solidity/deployments', 'created_at': '2015-08-17T12:27:26Z', 'updated_at': '2018-12-14T10:02:12Z', 'pushed_at': '2018-12-13T16:40:33Z', 'git_url': 'git://github.com/ethereum/solidity.git', 'ssh_url': '[email protected]:ethereum/solidity.git', 'clone_url': 'https://github.com/ethereum/solidity.git', 'svn_url': 'https://github.com/ethereum/solidity', 'homepage': 'https://solidity.readthedocs.io', 'size': 24938, 'stargazers_count': 6438, 'watchers_count': 6438, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 1735, 'mirror_url': None, 'archived': False, 'open_issues_count': 570, 'license': {'key': 'gpl-3.0', 'name': 'GNU General Public License v3.0', 'spdx_id': 'GPL-3.0', 'url': 'https://api.github.com/licenses/gpl-3.0', 'node_id': 'MDc6TGljZW5zZTk='}, 'forks': 1735, 'open_issues': 570, 'watchers': 6438, 'default_branch': 'develop'}}, 'base': {'label': 'ethereum:develop', 'ref': 'develop', 'sha': '35d6db880a7c36744934f626b69a2329ea484722', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 40892817, 'node_id': 'MDEwOlJlcG9zaXRvcnk0MDg5MjgxNw==', 'name': 'solidity', 'full_name': 'ethereum/solidity', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/solidity', 'description': 'Solidity, the Contract-Oriented Programming Language', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/solidity', 'forks_url': 'https://api.github.com/repos/ethereum/solidity/forks', 'keys_url': 'https://api.github.com/repos/ethereum/solidity/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/solidity/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/solidity/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/solidity/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/solidity/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/solidity/events', 'assignees_url': 'https://api.github.com/repos/ethereum/solidity/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/solidity/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/solidity/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/solidity/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/solidity/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/solidity/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/solidity/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/solidity/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/solidity/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/solidity/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/solidity/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/solidity/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/solidity/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/solidity/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/solidity/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/solidity/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/solidity/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/solidity/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/solidity/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/solidity/merges', 'archive_url': 'https://api.github.com/repos/ethereum/solidity/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/solidity/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/solidity/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/solidity/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/solidity/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/solidity/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/solidity/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/solidity/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/solidity/deployments', 'created_at': '2015-08-17T12:27:26Z', 'updated_at': '2018-12-14T10:02:12Z', 'pushed_at': '2018-12-13T16:40:33Z', 'git_url': 'git://github.com/ethereum/solidity.git', 'ssh_url': '[email protected]:ethereum/solidity.git', 'clone_url': 'https://github.com/ethereum/solidity.git', 'svn_url': 'https://github.com/ethereum/solidity', 'homepage': 'https://solidity.readthedocs.io', 'size': 24938, 'stargazers_count': 6438, 'watchers_count': 6438, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 1735, 'mirror_url': None, 'archived': False, 'open_issues_count': 570, 'license': {'key': 'gpl-3.0', 'name': 'GNU General Public License v3.0', 'spdx_id': 'GPL-3.0', 'url': 'https://api.github.com/licenses/gpl-3.0', 'node_id': 'MDc6TGljZW5zZTk='}, 'forks': 1735, 'open_issues': 570, 'watchers': 6438, 'default_branch': 'develop'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/solidity/pulls/5635'}, 'html': {'href': 'https://github.com/ethereum/solidity/pull/5635'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/solidity/issues/5635'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/solidity/issues/5635/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/solidity/pulls/5635/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/solidity/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/solidity/pulls/5635/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/solidity/statuses/2b5bc6d892375402fedaa30a53eae992fb7aeceb'}}, 'author_association': 'CONTRIBUTOR'}}, 'public': True, 'created_at': '2018-12-14T10:12:32Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753963192', 'type': 'PushEvent', 'actor': {'id': 142290, 'login': 'holiman', 'display_login': 'holiman', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'avatar_url': 'https://avatars.githubusercontent.com/u/142290?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'push_id': 3137385470, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/master', 'head': '3796751efcc3fab71799450f1bff370d081438ec', 'before': 'e79821cabeda5c6907f03073d11fe6d83367f494', 'commits': [{'sha': '3796751efcc3fab71799450f1bff370d081438ec', 'author': {'email': '[email protected]', 'name': 'Martin Holst Swende'}, 'message': 'rpc: add application/json-rpc as accepted content type, fixes #18293 (#18310)', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/go-ethereum/commits/3796751efcc3fab71799450f1bff370d081438ec'}]}, 'public': True, 'created_at': '2018-12-14T10:08:44Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753963172', 'type': 'IssuesEvent', 'actor': {'id': 142290, 'login': 'holiman', 'display_login': 'holiman', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'avatar_url': 'https://avatars.githubusercontent.com/u/142290?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'action': 'closed', 'issue': {'url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18293', 'repository_url': 'https://api.github.com/repos/ethereum/go-ethereum', 'labels_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18293/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18293/comments', 'events_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18293/events', 'html_url': 'https://github.com/ethereum/go-ethereum/issues/18293', 'id': 390408146, 'node_id': 'MDU6SXNzdWUzOTA0MDgxNDY=', 'number': 18293, 'title': 'geth should accept application/json-rpc as Content-Type', 'user': {'login': 'ligi', 'id': 111600, 'node_id': 'MDQ6VXNlcjExMTYwMA==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/111600?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ligi', 'html_url': 'https://github.com/ligi', 'followers_url': 'https://api.github.com/users/ligi/followers', 'following_url': 'https://api.github.com/users/ligi/following{/other_user}', 'gists_url': 'https://api.github.com/users/ligi/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ligi/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ligi/subscriptions', 'organizations_url': 'https://api.github.com/users/ligi/orgs', 'repos_url': 'https://api.github.com/users/ligi/repos', 'events_url': 'https://api.github.com/users/ligi/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ligi/received_events', 'type': 'User', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignee': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'assignees': [{'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}], 'milestone': None, 'comments': 1, 'created_at': '2018-12-12T21:04:37Z', 'updated_at': '2018-12-14T10:08:43Z', 'closed_at': '2018-12-14T10:08:43Z', 'author_association': 'MEMBER', 'body': 'currently when using the content-type `application/json-rpc`\r\nthen the geth rpc server answers with 415 (Unsupported Media Type)\r\n\r\nBut this SHOULD be the Content-Type for json rpc as in: https://www.jsonrpc.org/historical/json-rpc-over-http.html#http-header\r\n'}}, 'public': True, 'created_at': '2018-12-14T10:08:44Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753963052', 'type': 'PullRequestReviewCommentEvent', 'actor': {'id': 56763, 'login': 'christianparpart', 'display_login': 'christianparpart', 'gravatar_id': '', 'url': 'https://api.github.com/users/christianparpart', 'avatar_url': 'https://avatars.githubusercontent.com/u/56763?'}, 'repo': {'id': 40892817, 'name': 'ethereum/solidity', 'url': 'https://api.github.com/repos/ethereum/solidity'}, 'payload': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/ethereum/solidity/pulls/comments/241702358', 'pull_request_review_id': 185041327, 'id': 241702358, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MTcwMjM1OA==', 'diff_hunk': '@@ -304,7 +304,7 @@ KnownState::StoreOperation KnownState::storeInStorage(\n \n \tAssemblyItem item(Instruction::SSTORE, _location);\n \tId id = m_expressionClasses->find(item, {_slot, _value}, true, m_sequenceNumber);\n-\tStoreOperation operation(StoreOperation::Storage, _slot, m_sequenceNumber, id);\n+\tStoreOperation operation {StoreOperation::Storage, _slot, m_sequenceNumber, id};', 'path': 'libevmasm/KnownState.cpp', 'position': 5, 'original_position': 5, 'commit_id': '2b5bc6d892375402fedaa30a53eae992fb7aeceb', 'original_commit_id': '2b5bc6d892375402fedaa30a53eae992fb7aeceb', 'user': {'login': 'christianparpart', 'id': 56763, 'node_id': 'MDQ6VXNlcjU2NzYz', 'avatar_url': 'https://avatars1.githubusercontent.com/u/56763?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/christianparpart', 'html_url': 'https://github.com/christianparpart', 'followers_url': 'https://api.github.com/users/christianparpart/followers', 'following_url': 'https://api.github.com/users/christianparpart/following{/other_user}', 'gists_url': 'https://api.github.com/users/christianparpart/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/christianparpart/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/christianparpart/subscriptions', 'organizations_url': 'https://api.github.com/users/christianparpart/orgs', 'repos_url': 'https://api.github.com/users/christianparpart/repos', 'events_url': 'https://api.github.com/users/christianparpart/events{/privacy}', 'received_events_url': 'https://api.github.com/users/christianparpart/received_events', 'type': 'User', 'site_admin': False}, 'body': "Actually, I personally prefer spacing here, for readability. Also goes in line with `inline class member initialization`, such as `int m_value {1234};`. it would just look unreadable in not having that space there (but that's my opinion). What do you think? Maybe we should globally revisit our coding style guidelines in general (as a team). :)", 'created_at': '2018-12-14T10:08:42Z', 'updated_at': '2018-12-14T10:08:42Z', 'html_url': 'https://github.com/ethereum/solidity/pull/5635#discussion_r241702358', 'pull_request_url': 'https://api.github.com/repos/ethereum/solidity/pulls/5635', 'author_association': 'CONTRIBUTOR', '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/solidity/pulls/comments/241702358'}, 'html': {'href': 'https://github.com/ethereum/solidity/pull/5635#discussion_r241702358'}, 'pull_request': {'href': 'https://api.github.com/repos/ethereum/solidity/pulls/5635'}}, 'in_reply_to_id': 241026062}, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/solidity/pulls/5635', 'id': 238044883, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM4MDQ0ODgz', 'html_url': 'https://github.com/ethereum/solidity/pull/5635', 'diff_url': 'https://github.com/ethereum/solidity/pull/5635.diff', 'patch_url': 'https://github.com/ethereum/solidity/pull/5635.patch', 'issue_url': 'https://api.github.com/repos/ethereum/solidity/issues/5635', 'number': 5635, 'state': 'open', 'locked': False, 'title': '[RFC] C++ `=default` ctors/dtors and the use of non-static member initializer syntax.', 'user': {'login': 'christianparpart', 'id': 56763, 'node_id': 'MDQ6VXNlcjU2NzYz', 'avatar_url': 'https://avatars1.githubusercontent.com/u/56763?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/christianparpart', 'html_url': 'https://github.com/christianparpart', 'followers_url': 'https://api.github.com/users/christianparpart/followers', 'following_url': 'https://api.github.com/users/christianparpart/following{/other_user}', 'gists_url': 'https://api.github.com/users/christianparpart/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/christianparpart/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/christianparpart/subscriptions', 'organizations_url': 'https://api.github.com/users/christianparpart/orgs', 'repos_url': 'https://api.github.com/users/christianparpart/repos', 'events_url': 'https://api.github.com/users/christianparpart/events{/privacy}', 'received_events_url': 'https://api.github.com/users/christianparpart/received_events', 'type': 'User', 'site_admin': False}, 'body': '', 'created_at': '2018-12-12T13:53:00Z', 'updated_at': '2018-12-14T10:08:42Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'ebdc7d69a17b20818e1cf87235086477ca085178', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/solidity/pulls/5635/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/solidity/pulls/5635/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/solidity/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/solidity/issues/5635/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/solidity/statuses/2b5bc6d892375402fedaa30a53eae992fb7aeceb', 'head': {'label': 'ethereum:cpp-default-ctors', 'ref': 'cpp-default-ctors', 'sha': '2b5bc6d892375402fedaa30a53eae992fb7aeceb', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 40892817, 'node_id': 'MDEwOlJlcG9zaXRvcnk0MDg5MjgxNw==', 'name': 'solidity', 'full_name': 'ethereum/solidity', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/solidity', 'description': 'Solidity, the Contract-Oriented Programming Language', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/solidity', 'forks_url': 'https://api.github.com/repos/ethereum/solidity/forks', 'keys_url': 'https://api.github.com/repos/ethereum/solidity/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/solidity/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/solidity/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/solidity/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/solidity/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/solidity/events', 'assignees_url': 'https://api.github.com/repos/ethereum/solidity/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/solidity/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/solidity/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/solidity/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/solidity/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/solidity/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/solidity/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/solidity/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/solidity/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/solidity/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/solidity/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/solidity/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/solidity/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/solidity/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/solidity/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/solidity/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/solidity/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/solidity/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/solidity/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/solidity/merges', 'archive_url': 'https://api.github.com/repos/ethereum/solidity/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/solidity/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/solidity/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/solidity/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/solidity/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/solidity/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/solidity/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/solidity/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/solidity/deployments', 'created_at': '2015-08-17T12:27:26Z', 'updated_at': '2018-12-14T10:02:12Z', 'pushed_at': '2018-12-13T16:40:33Z', 'git_url': 'git://github.com/ethereum/solidity.git', 'ssh_url': '[email protected]:ethereum/solidity.git', 'clone_url': 'https://github.com/ethereum/solidity.git', 'svn_url': 'https://github.com/ethereum/solidity', 'homepage': 'https://solidity.readthedocs.io', 'size': 24938, 'stargazers_count': 6438, 'watchers_count': 6438, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 1735, 'mirror_url': None, 'archived': False, 'open_issues_count': 570, 'license': {'key': 'gpl-3.0', 'name': 'GNU General Public License v3.0', 'spdx_id': 'GPL-3.0', 'url': 'https://api.github.com/licenses/gpl-3.0', 'node_id': 'MDc6TGljZW5zZTk='}, 'forks': 1735, 'open_issues': 570, 'watchers': 6438, 'default_branch': 'develop'}}, 'base': {'label': 'ethereum:develop', 'ref': 'develop', 'sha': '35d6db880a7c36744934f626b69a2329ea484722', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 40892817, 'node_id': 'MDEwOlJlcG9zaXRvcnk0MDg5MjgxNw==', 'name': 'solidity', 'full_name': 'ethereum/solidity', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/solidity', 'description': 'Solidity, the Contract-Oriented Programming Language', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/solidity', 'forks_url': 'https://api.github.com/repos/ethereum/solidity/forks', 'keys_url': 'https://api.github.com/repos/ethereum/solidity/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/solidity/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/solidity/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/solidity/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/solidity/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/solidity/events', 'assignees_url': 'https://api.github.com/repos/ethereum/solidity/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/solidity/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/solidity/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/solidity/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/solidity/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/solidity/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/solidity/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/solidity/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/solidity/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/solidity/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/solidity/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/solidity/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/solidity/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/solidity/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/solidity/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/solidity/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/solidity/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/solidity/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/solidity/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/solidity/merges', 'archive_url': 'https://api.github.com/repos/ethereum/solidity/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/solidity/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/solidity/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/solidity/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/solidity/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/solidity/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/solidity/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/solidity/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/solidity/deployments', 'created_at': '2015-08-17T12:27:26Z', 'updated_at': '2018-12-14T10:02:12Z', 'pushed_at': '2018-12-13T16:40:33Z', 'git_url': 'git://github.com/ethereum/solidity.git', 'ssh_url': '[email protected]:ethereum/solidity.git', 'clone_url': 'https://github.com/ethereum/solidity.git', 'svn_url': 'https://github.com/ethereum/solidity', 'homepage': 'https://solidity.readthedocs.io', 'size': 24938, 'stargazers_count': 6438, 'watchers_count': 6438, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 1735, 'mirror_url': None, 'archived': False, 'open_issues_count': 570, 'license': {'key': 'gpl-3.0', 'name': 'GNU General Public License v3.0', 'spdx_id': 'GPL-3.0', 'url': 'https://api.github.com/licenses/gpl-3.0', 'node_id': 'MDc6TGljZW5zZTk='}, 'forks': 1735, 'open_issues': 570, 'watchers': 6438, 'default_branch': 'develop'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/solidity/pulls/5635'}, 'html': {'href': 'https://github.com/ethereum/solidity/pull/5635'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/solidity/issues/5635'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/solidity/issues/5635/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/solidity/pulls/5635/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/solidity/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/solidity/pulls/5635/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/solidity/statuses/2b5bc6d892375402fedaa30a53eae992fb7aeceb'}}, 'author_association': 'CONTRIBUTOR'}}, 'public': True, 'created_at': '2018-12-14T10:08:42Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753959914', 'type': 'PullRequestEvent', 'actor': {'id': 142290, 'login': 'holiman', 'display_login': 'holiman', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'avatar_url': 'https://avatars.githubusercontent.com/u/142290?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'action': 'closed', 'number': 18310, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18310', 'id': 238652594, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM4NjUyNTk0', 'html_url': 'https://github.com/ethereum/go-ethereum/pull/18310', 'diff_url': 'https://github.com/ethereum/go-ethereum/pull/18310.diff', 'patch_url': 'https://github.com/ethereum/go-ethereum/pull/18310.patch', 'issue_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18310', 'number': 18310, 'state': 'closed', 'locked': False, 'title': 'rpc: add application/json-rpc as accepted content type, fixes #18293', 'user': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'body': "This PR adds `application/json-rpc` as accepted content type for the server. \r\n\r\[email protected] Please try it out and see if it works for you (I haven't actually tested the code :) )", 'created_at': '2018-12-14T09:05:15Z', 'updated_at': '2018-12-14T10:08:11Z', 'closed_at': '2018-12-14T10:08:11Z', 'merged_at': '2018-12-14T10:08:11Z', 'merge_commit_sha': '3796751efcc3fab71799450f1bff370d081438ec', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18310/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18310/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18310/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/go-ethereum/statuses/82c0d42a357455f1768b9a3758e1ef39afd94ebb', 'head': {'label': 'holiman:contenttypes', 'ref': 'contenttypes', 'sha': '82c0d42a357455f1768b9a3758e1ef39afd94ebb', 'user': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'repo': {'id': 75061513, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NTA2MTUxMw==', 'name': 'go-ethereum', 'full_name': 'holiman/go-ethereum', 'private': False, 'owner': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/holiman/go-ethereum', 'description': 'Official Go implementation of the Ethereum protocol', 'fork': True, 'url': 'https://api.github.com/repos/holiman/go-ethereum', 'forks_url': 'https://api.github.com/repos/holiman/go-ethereum/forks', 'keys_url': 'https://api.github.com/repos/holiman/go-ethereum/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/holiman/go-ethereum/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/holiman/go-ethereum/teams', 'hooks_url': 'https://api.github.com/repos/holiman/go-ethereum/hooks', 'issue_events_url': 'https://api.github.com/repos/holiman/go-ethereum/issues/events{/number}', 'events_url': 'https://api.github.com/repos/holiman/go-ethereum/events', 'assignees_url': 'https://api.github.com/repos/holiman/go-ethereum/assignees{/user}', 'branches_url': 'https://api.github.com/repos/holiman/go-ethereum/branches{/branch}', 'tags_url': 'https://api.github.com/repos/holiman/go-ethereum/tags', 'blobs_url': 'https://api.github.com/repos/holiman/go-ethereum/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/holiman/go-ethereum/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/holiman/go-ethereum/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/holiman/go-ethereum/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/holiman/go-ethereum/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/holiman/go-ethereum/languages', 'stargazers_url': 'https://api.github.com/repos/holiman/go-ethereum/stargazers', 'contributors_url': 'https://api.github.com/repos/holiman/go-ethereum/contributors', 'subscribers_url': 'https://api.github.com/repos/holiman/go-ethereum/subscribers', 'subscription_url': 'https://api.github.com/repos/holiman/go-ethereum/subscription', 'commits_url': 'https://api.github.com/repos/holiman/go-ethereum/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/holiman/go-ethereum/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/holiman/go-ethereum/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/holiman/go-ethereum/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/holiman/go-ethereum/contents/{+path}', 'compare_url': 'https://api.github.com/repos/holiman/go-ethereum/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/holiman/go-ethereum/merges', 'archive_url': 'https://api.github.com/repos/holiman/go-ethereum/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/holiman/go-ethereum/downloads', 'issues_url': 'https://api.github.com/repos/holiman/go-ethereum/issues{/number}', 'pulls_url': 'https://api.github.com/repos/holiman/go-ethereum/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/holiman/go-ethereum/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/holiman/go-ethereum/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/holiman/go-ethereum/labels{/name}', 'releases_url': 'https://api.github.com/repos/holiman/go-ethereum/releases{/id}', 'deployments_url': 'https://api.github.com/repos/holiman/go-ethereum/deployments', 'created_at': '2016-11-29T08:48:37Z', 'updated_at': '2018-11-25T19:02:22Z', 'pushed_at': '2018-12-14T09:28:27Z', 'git_url': 'git://github.com/holiman/go-ethereum.git', 'ssh_url': '[email protected]:holiman/go-ethereum.git', 'clone_url': 'https://github.com/holiman/go-ethereum.git', 'svn_url': 'https://github.com/holiman/go-ethereum', 'homepage': 'https://geth.ethereum.org', 'size': 137982, 'stargazers_count': 2, 'watchers_count': 2, 'language': 'Go', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'open_issues_count': 0, 'license': {'key': 'lgpl-3.0', 'name': 'GNU Lesser General Public License v3.0', 'spdx_id': 'LGPL-3.0', 'url': 'https://api.github.com/licenses/lgpl-3.0', 'node_id': 'MDc6TGljZW5zZTEy'}, 'forks': 0, 'open_issues': 0, 'watchers': 2, 'default_branch': 'master'}}, 'base': {'label': 'ethereum:master', 'ref': 'master', 'sha': 'e79821cabeda5c6907f03073d11fe6d83367f494', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 15452919, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNTQ1MjkxOQ==', 'name': 'go-ethereum', 'full_name': 'ethereum/go-ethereum', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/go-ethereum', 'description': 'Official Go implementation of the Ethereum protocol', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/go-ethereum', 'forks_url': 'https://api.github.com/repos/ethereum/go-ethereum/forks', 'keys_url': 'https://api.github.com/repos/ethereum/go-ethereum/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/go-ethereum/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/go-ethereum/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/go-ethereum/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/go-ethereum/events', 'assignees_url': 'https://api.github.com/repos/ethereum/go-ethereum/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/go-ethereum/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/go-ethereum/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/go-ethereum/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/go-ethereum/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/go-ethereum/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/go-ethereum/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/go-ethereum/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/go-ethereum/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/go-ethereum/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/go-ethereum/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/go-ethereum/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/go-ethereum/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/go-ethereum/merges', 'archive_url': 'https://api.github.com/repos/ethereum/go-ethereum/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/go-ethereum/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/go-ethereum/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/go-ethereum/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/go-ethereum/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/go-ethereum/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/go-ethereum/deployments', 'created_at': '2013-12-26T13:05:46Z', 'updated_at': '2018-12-14T10:05:33Z', 'pushed_at': '2018-12-14T10:08:11Z', 'git_url': 'git://github.com/ethereum/go-ethereum.git', 'ssh_url': '[email protected]:ethereum/go-ethereum.git', 'clone_url': 'https://github.com/ethereum/go-ethereum.git', 'svn_url': 'https://github.com/ethereum/go-ethereum', 'homepage': 'https://geth.ethereum.org', 'size': 107613, 'stargazers_count': 22062, 'watchers_count': 22062, 'language': 'Go', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': True, 'forks_count': 7712, 'mirror_url': None, 'archived': False, 'open_issues_count': 856, 'license': {'key': 'lgpl-3.0', 'name': 'GNU Lesser General Public License v3.0', 'spdx_id': 'LGPL-3.0', 'url': 'https://api.github.com/licenses/lgpl-3.0', 'node_id': 'MDc6TGljZW5zZTEy'}, 'forks': 7712, 'open_issues': 856, 'watchers': 22062, 'default_branch': 'master'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18310'}, 'html': {'href': 'https://github.com/ethereum/go-ethereum/pull/18310'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18310'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18310/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18310/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18310/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/statuses/82c0d42a357455f1768b9a3758e1ef39afd94ebb'}}, 'author_association': 'CONTRIBUTOR', 'merged': True, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'comments': 0, 'review_comments': 1, 'maintainer_can_modify': False, 'commits': 1, 'additions': 20, 'deletions': 7, 'changed_files': 1}}, 'public': True, 'created_at': '2018-12-14T10:08:12Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753948406', 'type': 'PushEvent', 'actor': {'id': 521109, 'login': 'cburgdorf', 'display_login': 'cburgdorf', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'avatar_url': 'https://avatars.githubusercontent.com/u/521109?'}, 'repo': {'id': 77478378, 'name': 'ethereum/py-evm', 'url': 'https://api.github.com/repos/ethereum/py-evm'}, 'payload': {'push_id': 3137378095, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/master', 'head': '0b0b6ecf5b8700c33d4fb9603a3ec4a8d1cad771', 'before': 'dae7910b84c6c5f3d5ab0594ddb550f92a4fb072', 'commits': [{'sha': '0b0b6ecf5b8700c33d4fb9603a3ec4a8d1cad771', 'author': {'email': '[email protected]', 'name': 'Christoph Burgdorf'}, 'message': 'Teach TrinityConfig to handle sub configs\n\nThis commits adds sub config handling to TrinityConfig.\nThis is needed to support different kinds of nodes\nthat are loosely related yet different enough to\ndemand different configurations.\n\nThis allows us to handle shared configs on a base\nlevel as well as mixing in different sub configs\ndepending on the use case.', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/py-evm/commits/0b0b6ecf5b8700c33d4fb9603a3ec4a8d1cad771'}]}, 'public': True, 'created_at': '2018-12-14T10:06:03Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753948149', 'type': 'PullRequestEvent', 'actor': {'id': 521109, 'login': 'cburgdorf', 'display_login': 'cburgdorf', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'avatar_url': 'https://avatars.githubusercontent.com/u/521109?'}, 'repo': {'id': 77478378, 'name': 'ethereum/py-evm', 'url': 'https://api.github.com/repos/ethereum/py-evm'}, 'payload': {'action': 'closed', 'number': 1566, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1566', 'id': 237350141, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM3MzUwMTQx', 'html_url': 'https://github.com/ethereum/py-evm/pull/1566', 'diff_url': 'https://github.com/ethereum/py-evm/pull/1566.diff', 'patch_url': 'https://github.com/ethereum/py-evm/pull/1566.patch', 'issue_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1566', 'number': 1566, 'state': 'closed', 'locked': False, 'title': 'Teach TrinityConfig to handle sub configs', 'user': {'login': 'cburgdorf', 'id': 521109, 'node_id': 'MDQ6VXNlcjUyMTEwOQ==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/521109?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'html_url': 'https://github.com/cburgdorf', 'followers_url': 'https://api.github.com/users/cburgdorf/followers', 'following_url': 'https://api.github.com/users/cburgdorf/following{/other_user}', 'gists_url': 'https://api.github.com/users/cburgdorf/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cburgdorf/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cburgdorf/subscriptions', 'organizations_url': 'https://api.github.com/users/cburgdorf/orgs', 'repos_url': 'https://api.github.com/users/cburgdorf/repos', 'events_url': 'https://api.github.com/users/cburgdorf/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cburgdorf/received_events', 'type': 'User', 'site_admin': False}, 'body': '### What was wrong?\r\n\r\nAs we aim to support more and more node types using one common `TrinityConfig` becomes seems to become less sustainable as it would mean that e.g. we need to add things for the beacon node into the `TrinityConfig` that will just be noise for other node types. In language theory speak, that would lower the cohesion of the `TrinityConfig`which is a bad thing.\r\n\r\n### How was it fixed?\r\n\r\nRelated discussion: https://github.com/ethereum/py-evm/pull/1556#discussion_r240014047\r\n\r\n1.This introduces a concept of sub configurations which need to be derived from `BaseSubConfig`. \r\n\r\n```python\r\nclass BaseSubConfig:\r\n\r\n    def __init__(self, args: argparse.Namespace, base_config: TrinityConfig) -> None:\r\n        self.args = args\r\n        self.base_config = base_config\r\n```\r\n\r\n2. `TrinityConfig.from_parser_args` now accepts an additional `Iterable[BaseSubConfig` to bootstrap any number of given sub configs.\r\n\r\n3. `TrinityConfig` now has APIs `has_sub_config()` and `get_sub_config` to work with sub configs \r\n\r\n#### Cute Animal Picture\r\n\r\n![put a cute animal picture link inside the parentheses](https://i.dailymail.co.uk/i/pix/2011/04/04/article-0-0B78E26500000578-768_964x660.jpg)\r\n', 'created_at': '2018-12-10T14:58:44Z', 'updated_at': '2018-12-14T10:05:59Z', 'closed_at': '2018-12-14T10:05:59Z', 'merged_at': '2018-12-14T10:05:59Z', 'merge_commit_sha': '0b0b6ecf5b8700c33d4fb9603a3ec4a8d1cad771', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1566/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1566/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1566/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/py-evm/statuses/31b1e0c43b75a3c512a6384c150d31c898a9eb65', 'head': {'label': 'cburgdorf:christoph/feat/sub-configs', 'ref': 'christoph/feat/sub-configs', 'sha': '31b1e0c43b75a3c512a6384c150d31c898a9eb65', 'user': {'login': 'cburgdorf', 'id': 521109, 'node_id': 'MDQ6VXNlcjUyMTEwOQ==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/521109?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'html_url': 'https://github.com/cburgdorf', 'followers_url': 'https://api.github.com/users/cburgdorf/followers', 'following_url': 'https://api.github.com/users/cburgdorf/following{/other_user}', 'gists_url': 'https://api.github.com/users/cburgdorf/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cburgdorf/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cburgdorf/subscriptions', 'organizations_url': 'https://api.github.com/users/cburgdorf/orgs', 'repos_url': 'https://api.github.com/users/cburgdorf/repos', 'events_url': 'https://api.github.com/users/cburgdorf/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cburgdorf/received_events', 'type': 'User', 'site_admin': False}, 'repo': {'id': 122467896, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMjI0Njc4OTY=', 'name': 'py-evm', 'full_name': 'cburgdorf/py-evm', 'private': False, 'owner': {'login': 'cburgdorf', 'id': 521109, 'node_id': 'MDQ6VXNlcjUyMTEwOQ==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/521109?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'html_url': 'https://github.com/cburgdorf', 'followers_url': 'https://api.github.com/users/cburgdorf/followers', 'following_url': 'https://api.github.com/users/cburgdorf/following{/other_user}', 'gists_url': 'https://api.github.com/users/cburgdorf/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cburgdorf/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cburgdorf/subscriptions', 'organizations_url': 'https://api.github.com/users/cburgdorf/orgs', 'repos_url': 'https://api.github.com/users/cburgdorf/repos', 'events_url': 'https://api.github.com/users/cburgdorf/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cburgdorf/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/cburgdorf/py-evm', 'description': 'A Python implementation of the Ethereum Virtual Machine', 'fork': True, 'url': 'https://api.github.com/repos/cburgdorf/py-evm', 'forks_url': 'https://api.github.com/repos/cburgdorf/py-evm/forks', 'keys_url': 'https://api.github.com/repos/cburgdorf/py-evm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/cburgdorf/py-evm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/cburgdorf/py-evm/teams', 'hooks_url': 'https://api.github.com/repos/cburgdorf/py-evm/hooks', 'issue_events_url': 'https://api.github.com/repos/cburgdorf/py-evm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/cburgdorf/py-evm/events', 'assignees_url': 'https://api.github.com/repos/cburgdorf/py-evm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/cburgdorf/py-evm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/cburgdorf/py-evm/tags', 'blobs_url': 'https://api.github.com/repos/cburgdorf/py-evm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/cburgdorf/py-evm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/cburgdorf/py-evm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/cburgdorf/py-evm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/cburgdorf/py-evm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/cburgdorf/py-evm/languages', 'stargazers_url': 'https://api.github.com/repos/cburgdorf/py-evm/stargazers', 'contributors_url': 'https://api.github.com/repos/cburgdorf/py-evm/contributors', 'subscribers_url': 'https://api.github.com/repos/cburgdorf/py-evm/subscribers', 'subscription_url': 'https://api.github.com/repos/cburgdorf/py-evm/subscription', 'commits_url': 'https://api.github.com/repos/cburgdorf/py-evm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/cburgdorf/py-evm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/cburgdorf/py-evm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/cburgdorf/py-evm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/cburgdorf/py-evm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/cburgdorf/py-evm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/cburgdorf/py-evm/merges', 'archive_url': 'https://api.github.com/repos/cburgdorf/py-evm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/cburgdorf/py-evm/downloads', 'issues_url': 'https://api.github.com/repos/cburgdorf/py-evm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/cburgdorf/py-evm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/cburgdorf/py-evm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/cburgdorf/py-evm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/cburgdorf/py-evm/labels{/name}', 'releases_url': 'https://api.github.com/repos/cburgdorf/py-evm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/cburgdorf/py-evm/deployments', 'created_at': '2018-02-22T11:07:50Z', 'updated_at': '2018-03-28T15:01:32Z', 'pushed_at': '2018-12-14T09:53:06Z', 'git_url': 'git://github.com/cburgdorf/py-evm.git', 'ssh_url': '[email protected]:cburgdorf/py-evm.git', 'clone_url': 'https://github.com/cburgdorf/py-evm.git', 'svn_url': 'https://github.com/cburgdorf/py-evm', 'homepage': 'http://py-evm.readthedocs.io/en/latest/', 'size': 8252, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'Python', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'open_issues_count': 1, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'forks': 0, 'open_issues': 1, 'watchers': 0, 'default_branch': 'master'}}, 'base': {'label': 'ethereum:master', 'ref': 'master', 'sha': 'dae7910b84c6c5f3d5ab0594ddb550f92a4fb072', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 77478378, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NzQ3ODM3OA==', 'name': 'py-evm', 'full_name': 'ethereum/py-evm', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/py-evm', 'description': 'A Python implementation of the Ethereum Virtual Machine', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/py-evm', 'forks_url': 'https://api.github.com/repos/ethereum/py-evm/forks', 'keys_url': 'https://api.github.com/repos/ethereum/py-evm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/py-evm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/py-evm/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/py-evm/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/py-evm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/py-evm/events', 'assignees_url': 'https://api.github.com/repos/ethereum/py-evm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/py-evm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/py-evm/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/py-evm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/py-evm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/py-evm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/py-evm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/py-evm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/py-evm/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/py-evm/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/py-evm/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/py-evm/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/py-evm/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/py-evm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/py-evm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/py-evm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/py-evm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/py-evm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/py-evm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/py-evm/merges', 'archive_url': 'https://api.github.com/repos/ethereum/py-evm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/py-evm/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/py-evm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/py-evm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/py-evm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/py-evm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/py-evm/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/py-evm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/py-evm/deployments', 'created_at': '2016-12-27T19:36:00Z', 'updated_at': '2018-12-14T08:56:37Z', 'pushed_at': '2018-12-14T10:05:59Z', 'git_url': 'git://github.com/ethereum/py-evm.git', 'ssh_url': '[email protected]:ethereum/py-evm.git', 'clone_url': 'https://github.com/ethereum/py-evm.git', 'svn_url': 'https://github.com/ethereum/py-evm', 'homepage': 'https://trinity.ethereum.org/', 'size': 6614, 'stargazers_count': 752, 'watchers_count': 752, 'language': 'Python', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 336, 'mirror_url': None, 'archived': False, 'open_issues_count': 163, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'forks': 336, 'open_issues': 163, 'watchers': 752, 'default_branch': 'master'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1566'}, 'html': {'href': 'https://github.com/ethereum/py-evm/pull/1566'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/py-evm/issues/1566'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/py-evm/issues/1566/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1566/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1566/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/py-evm/statuses/31b1e0c43b75a3c512a6384c150d31c898a9eb65'}}, 'author_association': 'CONTRIBUTOR', 'merged': True, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': {'login': 'cburgdorf', 'id': 521109, 'node_id': 'MDQ6VXNlcjUyMTEwOQ==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/521109?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'html_url': 'https://github.com/cburgdorf', 'followers_url': 'https://api.github.com/users/cburgdorf/followers', 'following_url': 'https://api.github.com/users/cburgdorf/following{/other_user}', 'gists_url': 'https://api.github.com/users/cburgdorf/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cburgdorf/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cburgdorf/subscriptions', 'organizations_url': 'https://api.github.com/users/cburgdorf/orgs', 'repos_url': 'https://api.github.com/users/cburgdorf/repos', 'events_url': 'https://api.github.com/users/cburgdorf/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cburgdorf/received_events', 'type': 'User', 'site_admin': False}, 'comments': 0, 'review_comments': 28, 'maintainer_can_modify': False, 'commits': 1, 'additions': 121, 'deletions': 21, 'changed_files': 6}}, 'public': True, 'created_at': '2018-12-14T10:06:00Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753945736', 'type': 'WatchEvent', 'actor': {'id': 2937764, 'login': 'z08053520', 'display_login': 'z08053520', 'gravatar_id': '', 'url': 'https://api.github.com/users/z08053520', 'avatar_url': 'https://avatars.githubusercontent.com/u/2937764?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'action': 'started'}, 'public': True, 'created_at': '2018-12-14T10:05:33Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753940765', 'type': 'WatchEvent', 'actor': {'id': 2937764, 'login': 'z08053520', 'display_login': 'z08053520', 'gravatar_id': '', 'url': 'https://api.github.com/users/z08053520', 'avatar_url': 'https://avatars.githubusercontent.com/u/2937764?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'action': 'started'}, 'public': True, 'created_at': '2018-12-14T10:04:39Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753915388', 'type': 'WatchEvent', 'actor': {'id': 8391134, 'login': 'lishenglincn', 'display_login': 'lishenglincn', 'gravatar_id': '', 'url': 'https://api.github.com/users/lishenglincn', 'avatar_url': 'https://avatars.githubusercontent.com/u/8391134?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'action': 'started'}, 'public': True, 'created_at': '2018-12-14T10:00:10Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753911225', 'type': 'WatchEvent', 'actor': {'id': 10215844, 'login': 'lag945', 'display_login': 'lag945', 'gravatar_id': '', 'url': 'https://api.github.com/users/lag945', 'avatar_url': 'https://avatars.githubusercontent.com/u/10215844?'}, 'repo': {'id': 24655114, 'name': 'ethereum/web3.js', 'url': 'https://api.github.com/repos/ethereum/web3.js'}, 'payload': {'action': 'started'}, 'public': True, 'created_at': '2018-12-14T09:59:26Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753900409', 'type': 'PullRequestReviewCommentEvent', 'actor': {'id': 521109, 'login': 'cburgdorf', 'display_login': 'cburgdorf', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'avatar_url': 'https://avatars.githubusercontent.com/u/521109?'}, 'repo': {'id': 77478378, 'name': 'ethereum/py-evm', 'url': 'https://api.github.com/repos/ethereum/py-evm'}, 'payload': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments/241698975', 'pull_request_review_id': 185037009, 'id': 241698975, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MTY5ODk3NQ==', 'diff_hunk': '@@ -440,14 +444,77 @@ def nodekey(self, value: Union[bytes, PrivateKey]) -> None:\n                 f"`PrivateKey` instance: got {type(self._nodekey)}"\n             )\n \n+    @contextmanager\n+    def process_id_file(self, process_name: str):  # type: ignore\n+        with PidFile(process_name, self.data_dir):\n+            yield\n+\n     @classmethod\n-    def from_parser_args(cls, parser_args: argparse.Namespace) -> \'TrinityConfig\':\n+    def from_parser_args(cls,\n+                         parser_args: argparse.Namespace,\n+                         app_config_types: Iterable[Type[\'BaseAppConfig\']]) -> \'TrinityConfig\':\n         """\n         Helper function for initializing from the namespace object produced by\n         an ``argparse.ArgumentParser``\n         """\n         constructor_kwargs = construct_trinity_config_params(parser_args)\n-        return cls(**constructor_kwargs)\n+        trinity_config = cls(**constructor_kwargs)\n+\n+        trinity_config.initialize_app_configs(parser_args, app_config_types)\n+\n+        return trinity_config\n+\n+    def initialize_app_configs(self,\n+                               parser_args: argparse.Namespace,\n+                               app_config_types: Iterable[Type[\'BaseAppConfig\']]) -> None:\n+\n+        for app_config_type in app_config_types:\n+            self.add_app_config(app_config_type.from_parser_args(parser_args, self))\n+\n+    def add_app_config(self, app_config: \'BaseAppConfig\') -> None:\n+        self._app_configs[type(app_config)] = app_config\n+\n+    def has_app_config(self, app_config_type: Type[\'BaseAppConfig\']) -> bool:\n+        return app_config_type in self._app_configs.keys()\n+\n+    def get_app_config(self, app_config_type: Type[TAppConfig]) -> TAppConfig:\n+        # We want this API to return the specific type of the app config that is requested.\n+        # Our backing field only knows that it is holding `BaseAppConfig`\'s but not concrete types\n+        return cast(TAppConfig, self._app_configs[app_config_type])\n+\n+\n+class BaseAppConfig(ABC):\n+\n+    @classmethod\n+    @abstractmethod\n+    def from_parser_args(cls,\n+                         args: argparse.Namespace,\n+                         base_config: TrinityConfig) -> \'BaseAppConfig\':\n+        pass\n+\n+\n+class DefaultBaseAppConfig(BaseAppConfig):\n+\n+    def __init__(self, args: argparse.Namespace, base_config: TrinityConfig):\n+        self.args = args\n+        self.base_config = base_config\n+\n+    @classmethod\n+    def from_parser_args(cls,\n+                         args: argparse.Namespace,\n+                         base_config: TrinityConfig) -> \'BaseAppConfig\':\n+        return cls(args, base_config)\n+\n+\n+class Eth1AppConfig(DefaultBaseAppConfig):\n+\n+    @property\n+    def is_light_mode(self) -> bool:\n+        return self.base_config.sync_mode == SYNC_LIGHT\n+\n+    @property\n+    def is_full_mode(self) -> bool:\n+        return self.base_config.sync_mode == SYNC_FULL', 'path': 'trinity/config.py', 'position': None, 'original_position': 138, 'commit_id': '31b1e0c43b75a3c512a6384c150d31c898a9eb65', 'original_commit_id': '4d9c4b66cfe369977507ff2b72b318d731184cbf', 'user': {'login': 'cburgdorf', 'id': 521109, 'node_id': 'MDQ6VXNlcjUyMTEwOQ==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/521109?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'html_url': 'https://github.com/cburgdorf', 'followers_url': 'https://api.github.com/users/cburgdorf/followers', 'following_url': 'https://api.github.com/users/cburgdorf/following{/other_user}', 'gists_url': 'https://api.github.com/users/cburgdorf/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cburgdorf/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cburgdorf/subscriptions', 'organizations_url': 'https://api.github.com/users/cburgdorf/orgs', 'repos_url': 'https://api.github.com/users/cburgdorf/repos', 'events_url': 'https://api.github.com/users/cburgdorf/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cburgdorf/received_events', 'type': 'User', 'site_admin': False}, 'body': "I will move this into another PR so that we can discuss this separately. I'd also be interested to hear what @carver thinks about it. Something in me really likes to treat the beacon node as a separate program here. E.g what about the `NodeKey` would the regular trinity node share that with the beacon node? It seems cleaner to me to keep the root directories of each of them clearly separated..also in terms of logs etc.", 'created_at': '2018-12-14T09:57:31Z', 'updated_at': '2018-12-14T09:57:31Z', 'html_url': 'https://github.com/ethereum/py-evm/pull/1566#discussion_r241698975', 'pull_request_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1566', 'author_association': 'CONTRIBUTOR', '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments/241698975'}, 'html': {'href': 'https://github.com/ethereum/py-evm/pull/1566#discussion_r241698975'}, 'pull_request': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1566'}}, 'in_reply_to_id': 241366836}, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1566', 'id': 237350141, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM3MzUwMTQx', 'html_url': 'https://github.com/ethereum/py-evm/pull/1566', 'diff_url': 'https://github.com/ethereum/py-evm/pull/1566.diff', 'patch_url': 'https://github.com/ethereum/py-evm/pull/1566.patch', 'issue_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1566', 'number': 1566, 'state': 'open', 'locked': False, 'title': 'Teach TrinityConfig to handle sub configs', 'user': {'login': 'cburgdorf', 'id': 521109, 'node_id': 'MDQ6VXNlcjUyMTEwOQ==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/521109?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'html_url': 'https://github.com/cburgdorf', 'followers_url': 'https://api.github.com/users/cburgdorf/followers', 'following_url': 'https://api.github.com/users/cburgdorf/following{/other_user}', 'gists_url': 'https://api.github.com/users/cburgdorf/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cburgdorf/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cburgdorf/subscriptions', 'organizations_url': 'https://api.github.com/users/cburgdorf/orgs', 'repos_url': 'https://api.github.com/users/cburgdorf/repos', 'events_url': 'https://api.github.com/users/cburgdorf/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cburgdorf/received_events', 'type': 'User', 'site_admin': False}, 'body': '### What was wrong?\r\n\r\nAs we aim to support more and more node types using one common `TrinityConfig` becomes seems to become less sustainable as it would mean that e.g. we need to add things for the beacon node into the `TrinityConfig` that will just be noise for other node types. In language theory speak, that would lower the cohesion of the `TrinityConfig`which is a bad thing.\r\n\r\n### How was it fixed?\r\n\r\nRelated discussion: https://github.com/ethereum/py-evm/pull/1556#discussion_r240014047\r\n\r\n1.This introduces a concept of sub configurations which need to be derived from `BaseSubConfig`. \r\n\r\n```python\r\nclass BaseSubConfig:\r\n\r\n    def __init__(self, args: argparse.Namespace, base_config: TrinityConfig) -> None:\r\n        self.args = args\r\n        self.base_config = base_config\r\n```\r\n\r\n2. `TrinityConfig.from_parser_args` now accepts an additional `Iterable[BaseSubConfig` to bootstrap any number of given sub configs.\r\n\r\n3. `TrinityConfig` now has APIs `has_sub_config()` and `get_sub_config` to work with sub configs \r\n\r\n#### Cute Animal Picture\r\n\r\n![put a cute animal picture link inside the parentheses](https://i.dailymail.co.uk/i/pix/2011/04/04/article-0-0B78E26500000578-768_964x660.jpg)\r\n', 'created_at': '2018-12-10T14:58:44Z', 'updated_at': '2018-12-14T09:57:31Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '7f8da60b68e0e2ede47ffa9a56b550564e23f09d', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1566/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1566/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1566/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/py-evm/statuses/31b1e0c43b75a3c512a6384c150d31c898a9eb65', 'head': {'label': 'cburgdorf:christoph/feat/sub-configs', 'ref': 'christoph/feat/sub-configs', 'sha': '31b1e0c43b75a3c512a6384c150d31c898a9eb65', 'user': {'login': 'cburgdorf', 'id': 521109, 'node_id': 'MDQ6VXNlcjUyMTEwOQ==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/521109?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'html_url': 'https://github.com/cburgdorf', 'followers_url': 'https://api.github.com/users/cburgdorf/followers', 'following_url': 'https://api.github.com/users/cburgdorf/following{/other_user}', 'gists_url': 'https://api.github.com/users/cburgdorf/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cburgdorf/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cburgdorf/subscriptions', 'organizations_url': 'https://api.github.com/users/cburgdorf/orgs', 'repos_url': 'https://api.github.com/users/cburgdorf/repos', 'events_url': 'https://api.github.com/users/cburgdorf/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cburgdorf/received_events', 'type': 'User', 'site_admin': False}, 'repo': {'id': 122467896, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMjI0Njc4OTY=', 'name': 'py-evm', 'full_name': 'cburgdorf/py-evm', 'private': False, 'owner': {'login': 'cburgdorf', 'id': 521109, 'node_id': 'MDQ6VXNlcjUyMTEwOQ==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/521109?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'html_url': 'https://github.com/cburgdorf', 'followers_url': 'https://api.github.com/users/cburgdorf/followers', 'following_url': 'https://api.github.com/users/cburgdorf/following{/other_user}', 'gists_url': 'https://api.github.com/users/cburgdorf/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cburgdorf/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cburgdorf/subscriptions', 'organizations_url': 'https://api.github.com/users/cburgdorf/orgs', 'repos_url': 'https://api.github.com/users/cburgdorf/repos', 'events_url': 'https://api.github.com/users/cburgdorf/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cburgdorf/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/cburgdorf/py-evm', 'description': 'A Python implementation of the Ethereum Virtual Machine', 'fork': True, 'url': 'https://api.github.com/repos/cburgdorf/py-evm', 'forks_url': 'https://api.github.com/repos/cburgdorf/py-evm/forks', 'keys_url': 'https://api.github.com/repos/cburgdorf/py-evm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/cburgdorf/py-evm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/cburgdorf/py-evm/teams', 'hooks_url': 'https://api.github.com/repos/cburgdorf/py-evm/hooks', 'issue_events_url': 'https://api.github.com/repos/cburgdorf/py-evm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/cburgdorf/py-evm/events', 'assignees_url': 'https://api.github.com/repos/cburgdorf/py-evm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/cburgdorf/py-evm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/cburgdorf/py-evm/tags', 'blobs_url': 'https://api.github.com/repos/cburgdorf/py-evm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/cburgdorf/py-evm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/cburgdorf/py-evm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/cburgdorf/py-evm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/cburgdorf/py-evm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/cburgdorf/py-evm/languages', 'stargazers_url': 'https://api.github.com/repos/cburgdorf/py-evm/stargazers', 'contributors_url': 'https://api.github.com/repos/cburgdorf/py-evm/contributors', 'subscribers_url': 'https://api.github.com/repos/cburgdorf/py-evm/subscribers', 'subscription_url': 'https://api.github.com/repos/cburgdorf/py-evm/subscription', 'commits_url': 'https://api.github.com/repos/cburgdorf/py-evm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/cburgdorf/py-evm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/cburgdorf/py-evm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/cburgdorf/py-evm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/cburgdorf/py-evm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/cburgdorf/py-evm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/cburgdorf/py-evm/merges', 'archive_url': 'https://api.github.com/repos/cburgdorf/py-evm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/cburgdorf/py-evm/downloads', 'issues_url': 'https://api.github.com/repos/cburgdorf/py-evm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/cburgdorf/py-evm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/cburgdorf/py-evm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/cburgdorf/py-evm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/cburgdorf/py-evm/labels{/name}', 'releases_url': 'https://api.github.com/repos/cburgdorf/py-evm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/cburgdorf/py-evm/deployments', 'created_at': '2018-02-22T11:07:50Z', 'updated_at': '2018-03-28T15:01:32Z', 'pushed_at': '2018-12-14T09:53:06Z', 'git_url': 'git://github.com/cburgdorf/py-evm.git', 'ssh_url': '[email protected]:cburgdorf/py-evm.git', 'clone_url': 'https://github.com/cburgdorf/py-evm.git', 'svn_url': 'https://github.com/cburgdorf/py-evm', 'homepage': 'http://py-evm.readthedocs.io/en/latest/', 'size': 8252, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'Python', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'open_issues_count': 1, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'forks': 0, 'open_issues': 1, 'watchers': 0, 'default_branch': 'master'}}, 'base': {'label': 'ethereum:master', 'ref': 'master', 'sha': 'dae7910b84c6c5f3d5ab0594ddb550f92a4fb072', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 77478378, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NzQ3ODM3OA==', 'name': 'py-evm', 'full_name': 'ethereum/py-evm', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/py-evm', 'description': 'A Python implementation of the Ethereum Virtual Machine', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/py-evm', 'forks_url': 'https://api.github.com/repos/ethereum/py-evm/forks', 'keys_url': 'https://api.github.com/repos/ethereum/py-evm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/py-evm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/py-evm/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/py-evm/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/py-evm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/py-evm/events', 'assignees_url': 'https://api.github.com/repos/ethereum/py-evm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/py-evm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/py-evm/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/py-evm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/py-evm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/py-evm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/py-evm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/py-evm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/py-evm/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/py-evm/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/py-evm/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/py-evm/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/py-evm/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/py-evm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/py-evm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/py-evm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/py-evm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/py-evm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/py-evm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/py-evm/merges', 'archive_url': 'https://api.github.com/repos/ethereum/py-evm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/py-evm/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/py-evm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/py-evm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/py-evm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/py-evm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/py-evm/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/py-evm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/py-evm/deployments', 'created_at': '2016-12-27T19:36:00Z', 'updated_at': '2018-12-14T08:56:37Z', 'pushed_at': '2018-12-14T09:53:08Z', 'git_url': 'git://github.com/ethereum/py-evm.git', 'ssh_url': '[email protected]:ethereum/py-evm.git', 'clone_url': 'https://github.com/ethereum/py-evm.git', 'svn_url': 'https://github.com/ethereum/py-evm', 'homepage': 'https://trinity.ethereum.org/', 'size': 6614, 'stargazers_count': 752, 'watchers_count': 752, 'language': 'Python', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 336, 'mirror_url': None, 'archived': False, 'open_issues_count': 164, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'forks': 336, 'open_issues': 164, 'watchers': 752, 'default_branch': 'master'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1566'}, 'html': {'href': 'https://github.com/ethereum/py-evm/pull/1566'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/py-evm/issues/1566'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/py-evm/issues/1566/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1566/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1566/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/py-evm/statuses/31b1e0c43b75a3c512a6384c150d31c898a9eb65'}}, 'author_association': 'CONTRIBUTOR'}}, 'public': True, 'created_at': '2018-12-14T09:57:31Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753860032', 'type': 'PullRequestReviewCommentEvent', 'actor': {'id': 29854669, 'login': 'jannikluhn', 'display_login': 'jannikluhn', 'gravatar_id': '', 'url': 'https://api.github.com/users/jannikluhn', 'avatar_url': 'https://avatars.githubusercontent.com/u/29854669?'}, 'repo': {'id': 153663395, 'name': 'ethereum/py-ssz', 'url': 'https://api.github.com/repos/ethereum/py-ssz'}, 'payload': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/ethereum/py-ssz/pulls/comments/241696762', 'pull_request_review_id': 185034184, 'id': 241696762, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MTY5Njc2Mg==', 'diff_hunk': '@@ -0,0 +1,96 @@\n+from collections.abc import (\n+    Iterable,\n+)\n+\n+from ssz.exceptions import (\n+    DeserializationError,\n+    SerializationError,\n+)\n+from ssz.sedes import (\n+    address,\n+    boolean,\n+    hash32,\n+    uint32,\n+)\n+\n+\n+class List:\n+    """\n+    A sedes for lists.\n+\n+    WARNING: Avoid sets if possible, may not always lead to expected results\n+    (This is because iteration in sets doesn\'t always happen in the same order)\n+    """\n+    LENGTH_BYTES = 4\n+\n+    def __init__(self, element_sedes):\n+        # This sedes object corresponds to each element of the iterable\n+        self.element_sedes = element_sedes\n+\n+    def serialize(self, val):\n+        if not isinstance(val, Iterable):', 'path': 'ssz/sedes/list.py', 'position': 31, 'original_position': 31, 'commit_id': '5577121e186fbeae1130144798c61f952f2a9e94', 'original_commit_id': '5577121e186fbeae1130144798c61f952f2a9e94', 'user': {'login': 'jannikluhn', 'id': 29854669, 'node_id': 'MDQ6VXNlcjI5ODU0NjY5', 'avatar_url': 'https://avatars1.githubusercontent.com/u/29854669?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jannikluhn', 'html_url': 'https://github.com/jannikluhn', 'followers_url': 'https://api.github.com/users/jannikluhn/followers', 'following_url': 'https://api.github.com/users/jannikluhn/following{/other_user}', 'gists_url': 'https://api.github.com/users/jannikluhn/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jannikluhn/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jannikluhn/subscriptions', 'organizations_url': 'https://api.github.com/users/jannikluhn/orgs', 'repos_url': 'https://api.github.com/users/jannikluhn/repos', 'events_url': 'https://api.github.com/users/jannikluhn/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jannikluhn/received_events', 'type': 'User', 'site_admin': False}, 'body': "Agree with the string like checks. But I'd rather keep the `Iterable` as `Sequence` would exclude generators which might be nice to have in some cases.", 'created_at': '2018-12-14T09:50:20Z', 'updated_at': '2018-12-14T09:50:20Z', 'html_url': 'https://github.com/ethereum/py-ssz/pull/10#discussion_r241696762', 'pull_request_url': 'https://api.github.com/repos/ethereum/py-ssz/pulls/10', 'author_association': 'CONTRIBUTOR', '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/py-ssz/pulls/comments/241696762'}, 'html': {'href': 'https://github.com/ethereum/py-ssz/pull/10#discussion_r241696762'}, 'pull_request': {'href': 'https://api.github.com/repos/ethereum/py-ssz/pulls/10'}}, 'in_reply_to_id': 241546881}, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/py-ssz/pulls/10', 'id': 237769752, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM3NzY5NzUy', 'html_url': 'https://github.com/ethereum/py-ssz/pull/10', 'diff_url': 'https://github.com/ethereum/py-ssz/pull/10.diff', 'patch_url': 'https://github.com/ethereum/py-ssz/pull/10.patch', 'issue_url': 'https://api.github.com/repos/ethereum/py-ssz/issues/10', 'number': 10, 'state': 'open', 'locked': False, 'title': 'List', 'user': {'login': 'Bhargavasomu', 'id': 15922456, 'node_id': 'MDQ6VXNlcjE1OTIyNDU2', 'avatar_url': 'https://avatars0.githubusercontent.com/u/15922456?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Bhargavasomu', 'html_url': 'https://github.com/Bhargavasomu', 'followers_url': 'https://api.github.com/users/Bhargavasomu/followers', 'following_url': 'https://api.github.com/users/Bhargavasomu/following{/other_user}', 'gists_url': 'https://api.github.com/users/Bhargavasomu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Bhargavasomu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Bhargavasomu/subscriptions', 'organizations_url': 'https://api.github.com/users/Bhargavasomu/orgs', 'repos_url': 'https://api.github.com/users/Bhargavasomu/repos', 'events_url': 'https://api.github.com/users/Bhargavasomu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Bhargavasomu/received_events', 'type': 'User', 'site_admin': False}, 'body': '## What was wrong?\r\nImplementing `serialization/deserialization` for `lists`\r\nIssue #4 \r\n\r\n## How was it fixed?\r\nBy following the implementation details in the spec\r\n\r\n#### Cute Animal Picture\r\n\r\n![put a cute animal picture link inside the parentheses](https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSl7HYYG_75AsGlHxh05lceEI9egktAoA2hJZxZ6OY2Rb14nA_x)\r\n', 'created_at': '2018-12-11T17:44:26Z', 'updated_at': '2018-12-14T09:50:20Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '5dc8d38d4ce7909c44d67655082713bd288beb6e', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/py-ssz/pulls/10/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/py-ssz/pulls/10/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/py-ssz/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/py-ssz/issues/10/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/py-ssz/statuses/5577121e186fbeae1130144798c61f952f2a9e94', 'head': {'label': 'Bhargavasomu:list', 'ref': 'list', 'sha': '5577121e186fbeae1130144798c61f952f2a9e94', 'user': {'login': 'Bhargavasomu', 'id': 15922456, 'node_id': 'MDQ6VXNlcjE1OTIyNDU2', 'avatar_url': 'https://avatars0.githubusercontent.com/u/15922456?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Bhargavasomu', 'html_url': 'https://github.com/Bhargavasomu', 'followers_url': 'https://api.github.com/users/Bhargavasomu/followers', 'following_url': 'https://api.github.com/users/Bhargavasomu/following{/other_user}', 'gists_url': 'https://api.github.com/users/Bhargavasomu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Bhargavasomu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Bhargavasomu/subscriptions', 'organizations_url': 'https://api.github.com/users/Bhargavasomu/orgs', 'repos_url': 'https://api.github.com/users/Bhargavasomu/repos', 'events_url': 'https://api.github.com/users/Bhargavasomu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Bhargavasomu/received_events', 'type': 'User', 'site_admin': False}, 'repo': {'id': 159607108, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNTk2MDcxMDg=', 'name': 'py-ssz', 'full_name': 'Bhargavasomu/py-ssz', 'private': False, 'owner': {'login': 'Bhargavasomu', 'id': 15922456, 'node_id': 'MDQ6VXNlcjE1OTIyNDU2', 'avatar_url': 'https://avatars0.githubusercontent.com/u/15922456?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Bhargavasomu', 'html_url': 'https://github.com/Bhargavasomu', 'followers_url': 'https://api.github.com/users/Bhargavasomu/followers', 'following_url': 'https://api.github.com/users/Bhargavasomu/following{/other_user}', 'gists_url': 'https://api.github.com/users/Bhargavasomu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Bhargavasomu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Bhargavasomu/subscriptions', 'organizations_url': 'https://api.github.com/users/Bhargavasomu/orgs', 'repos_url': 'https://api.github.com/users/Bhargavasomu/repos', 'events_url': 'https://api.github.com/users/Bhargavasomu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Bhargavasomu/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/Bhargavasomu/py-ssz', 'description': 'Python implementation of the Simple Serialize encoding and decoding', 'fork': True, 'url': 'https://api.github.com/repos/Bhargavasomu/py-ssz', 'forks_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/forks', 'keys_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/teams', 'hooks_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/hooks', 'issue_events_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/issues/events{/number}', 'events_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/events', 'assignees_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/assignees{/user}', 'branches_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/branches{/branch}', 'tags_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/tags', 'blobs_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/languages', 'stargazers_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/stargazers', 'contributors_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/contributors', 'subscribers_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/subscribers', 'subscription_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/subscription', 'commits_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/contents/{+path}', 'compare_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/merges', 'archive_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/downloads', 'issues_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/issues{/number}', 'pulls_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/labels{/name}', 'releases_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/releases{/id}', 'deployments_url': 'https://api.github.com/repos/Bhargavasomu/py-ssz/deployments', 'created_at': '2018-11-29T04:23:32Z', 'updated_at': '2018-12-05T17:00:16Z', 'pushed_at': '2018-12-13T17:14:06Z', 'git_url': 'git://github.com/Bhargavasomu/py-ssz.git', 'ssh_url': '[email protected]:Bhargavasomu/py-ssz.git', 'clone_url': 'https://github.com/Bhargavasomu/py-ssz.git', 'svn_url': 'https://github.com/Bhargavasomu/py-ssz', 'homepage': None, 'size': 91, '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': None, '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': 'ethereum:master', 'ref': 'master', 'sha': 'd87f05d70ad89d5adec49c88068db720400e1c0f', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 153663395, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNTM2NjMzOTU=', 'name': 'py-ssz', 'full_name': 'ethereum/py-ssz', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/py-ssz', 'description': 'Python implementation of the Simple Serialize encoding and decoding', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/py-ssz', 'forks_url': 'https://api.github.com/repos/ethereum/py-ssz/forks', 'keys_url': 'https://api.github.com/repos/ethereum/py-ssz/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/py-ssz/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/py-ssz/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/py-ssz/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/py-ssz/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/py-ssz/events', 'assignees_url': 'https://api.github.com/repos/ethereum/py-ssz/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/py-ssz/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/py-ssz/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/py-ssz/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/py-ssz/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/py-ssz/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/py-ssz/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/py-ssz/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/py-ssz/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/py-ssz/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/py-ssz/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/py-ssz/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/py-ssz/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/py-ssz/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/py-ssz/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/py-ssz/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/py-ssz/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/py-ssz/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/py-ssz/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/py-ssz/merges', 'archive_url': 'https://api.github.com/repos/ethereum/py-ssz/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/py-ssz/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/py-ssz/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/py-ssz/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/py-ssz/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/py-ssz/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/py-ssz/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/py-ssz/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/py-ssz/deployments', 'created_at': '2018-10-18T17:41:29Z', 'updated_at': '2018-12-13T15:39:25Z', 'pushed_at': '2018-12-13T17:14:08Z', 'git_url': 'git://github.com/ethereum/py-ssz.git', 'ssh_url': '[email protected]:ethereum/py-ssz.git', 'clone_url': 'https://github.com/ethereum/py-ssz.git', 'svn_url': 'https://github.com/ethereum/py-ssz', 'homepage': None, 'size': 78, 'stargazers_count': 4, 'watchers_count': 4, 'language': 'Python', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 3, 'mirror_url': None, 'archived': False, 'open_issues_count': 5, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'forks': 3, 'open_issues': 5, 'watchers': 4, 'default_branch': 'master'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/py-ssz/pulls/10'}, 'html': {'href': 'https://github.com/ethereum/py-ssz/pull/10'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/py-ssz/issues/10'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/py-ssz/issues/10/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/py-ssz/pulls/10/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/py-ssz/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/py-ssz/pulls/10/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/py-ssz/statuses/5577121e186fbeae1130144798c61f952f2a9e94'}}, 'author_association': 'CONTRIBUTOR'}}, 'public': True, 'created_at': '2018-12-14T09:50:20Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753811671', 'type': 'IssuesEvent', 'actor': {'id': 142290, 'login': 'holiman', 'display_login': 'holiman', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'avatar_url': 'https://avatars.githubusercontent.com/u/142290?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'action': 'closed', 'issue': {'url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/16507', 'repository_url': 'https://api.github.com/repos/ethereum/go-ethereum', 'labels_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/16507/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/16507/comments', 'events_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/16507/events', 'html_url': 'https://github.com/ethereum/go-ethereum/issues/16507', 'id': 314468877, 'node_id': 'MDU6SXNzdWUzMTQ0Njg4Nzc=', 'number': 16507, 'title': "Don't silently accept RPC requests directed to IP address", 'user': {'login': 'lionello', 'id': 591860, 'node_id': 'MDQ6VXNlcjU5MTg2MA==', 'avatar_url': 'https://avatars0.githubusercontent.com/u/591860?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/lionello', 'html_url': 'https://github.com/lionello', 'followers_url': 'https://api.github.com/users/lionello/followers', 'following_url': 'https://api.github.com/users/lionello/following{/other_user}', 'gists_url': 'https://api.github.com/users/lionello/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/lionello/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/lionello/subscriptions', 'organizations_url': 'https://api.github.com/users/lionello/orgs', 'repos_url': 'https://api.github.com/users/lionello/repos', 'events_url': 'https://api.github.com/users/lionello/events{/privacy}', 'received_events_url': 'https://api.github.com/users/lionello/received_events', 'type': 'User', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignee': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'assignees': [{'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}], 'milestone': None, 'comments': 3, 'created_at': '2018-04-16T00:48:23Z', 'updated_at': '2018-12-14T09:41:30Z', 'closed_at': '2018-12-14T09:41:30Z', 'author_association': 'CONTRIBUTOR', 'body': "I was surprised to discover that `--rpcvhosts` does not prevent connection by IP address. I could connect with `http://127.0.0.1:8545` even though `--rpcvhosts` defaults to `localhost`.\r\n\r\nThis line seems to suggest that this behavior was intentional: https://github.com/ethereum/go-ethereum/blob/e9b5e22ad121ef2251d1c72526c0994c03d2caf0/rpc/http.go#L234\r\n\r\n## Actual:\r\nRPC requests directed to host's IP address, with `Host` header set, are always accepted, even when `--rpcvhosts` explicitly mentions which host names to serve.\r\n\r\n## Expected:\r\nThe `Host` header of all RPC requests should be checked against the `--rpcvhosts` or `HTTPVirtualHosts` settings, regardless of whether it's an IP address or host name.\r\n"}}, 'public': True, 'created_at': '2018-12-14T09:41:30Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753807041', 'type': 'IssueCommentEvent', 'actor': {'id': 142290, 'login': 'holiman', 'display_login': 'holiman', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'avatar_url': 'https://avatars.githubusercontent.com/u/142290?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/16507', 'repository_url': 'https://api.github.com/repos/ethereum/go-ethereum', 'labels_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/16507/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/16507/comments', 'events_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/16507/events', 'html_url': 'https://github.com/ethereum/go-ethereum/issues/16507', 'id': 314468877, 'node_id': 'MDU6SXNzdWUzMTQ0Njg4Nzc=', 'number': 16507, 'title': "Don't silently accept RPC requests directed to IP address", 'user': {'login': 'lionello', 'id': 591860, 'node_id': 'MDQ6VXNlcjU5MTg2MA==', 'avatar_url': 'https://avatars0.githubusercontent.com/u/591860?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/lionello', 'html_url': 'https://github.com/lionello', 'followers_url': 'https://api.github.com/users/lionello/followers', 'following_url': 'https://api.github.com/users/lionello/following{/other_user}', 'gists_url': 'https://api.github.com/users/lionello/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/lionello/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/lionello/subscriptions', 'organizations_url': 'https://api.github.com/users/lionello/orgs', 'repos_url': 'https://api.github.com/users/lionello/repos', 'events_url': 'https://api.github.com/users/lionello/events{/privacy}', 'received_events_url': 'https://api.github.com/users/lionello/received_events', 'type': 'User', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'assignees': [{'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}], 'milestone': None, 'comments': 2, 'created_at': '2018-04-16T00:48:23Z', 'updated_at': '2018-12-14T09:40:39Z', 'closed_at': None, 'author_association': 'CONTRIBUTOR', 'body': "I was surprised to discover that `--rpcvhosts` does not prevent connection by IP address. I could connect with `http://127.0.0.1:8545` even though `--rpcvhosts` defaults to `localhost`.\r\n\r\nThis line seems to suggest that this behavior was intentional: https://github.com/ethereum/go-ethereum/blob/e9b5e22ad121ef2251d1c72526c0994c03d2caf0/rpc/http.go#L234\r\n\r\n## Actual:\r\nRPC requests directed to host's IP address, with `Host` header set, are always accepted, even when `--rpcvhosts` explicitly mentions which host names to serve.\r\n\r\n## Expected:\r\nThe `Host` header of all RPC requests should be checked against the `--rpcvhosts` or `HTTPVirtualHosts` settings, regardless of whether it's an IP address or host name.\r\n"}, 'comment': {'url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/comments/447270575', 'html_url': 'https://github.com/ethereum/go-ethereum/issues/16507#issuecomment-447270575', 'issue_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/16507', 'id': 447270575, 'node_id': 'MDEyOklzc3VlQ29tbWVudDQ0NzI3MDU3NQ==', 'user': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'created_at': '2018-12-14T09:40:39Z', 'updated_at': '2018-12-14T09:40:39Z', 'author_association': 'CONTRIBUTOR', 'body': "Sorry for not answering until now, I didn't notice your response. \r\nSo, the `rpcvhosts` is not the correct protection mechanism against an attacker which can create fully custom arbitrary requests. It is solely meant to prevent attacks originating from your own browser, where the attacker (a webpage) has certain restrictions about what types of requests can be made. \r\n\r\nIf an attacker has your ip, and you are allowing network traffic over the port, then it's a bit futile to rely on rpcvhosts as a protection mechanism: the only thing preventing the attacker from interacting with your node is that he doesn't know the correct name to use. \r\n\r\nHowever, if you have a public DNS, then a simple RDNS lookup would yield it, and the attacker could also try to bruteforce names. I'm not even sure that we don't leak it ourselves in certain circumstance, e.g. if we supply origin headers in the responses and the same origin is used as the vhost. \r\n\r\nSo it's kind of solving the wrong problem and giving people a false sense of security. A better approach is to simply not allow internet access ot the port(s). "}}, 'public': True, 'created_at': '2018-12-14T09:40:40Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753800921', 'type': 'WatchEvent', 'actor': {'id': 26370659, 'login': 'shimakaze-git', 'display_login': 'shimakaze-git', 'gravatar_id': '', 'url': 'https://api.github.com/users/shimakaze-git', 'avatar_url': 'https://avatars.githubusercontent.com/u/26370659?'}, 'repo': {'id': 73461676, 'name': 'ethereum/vyper', 'url': 'https://api.github.com/repos/ethereum/vyper'}, 'payload': {'action': 'started'}, 'public': True, 'created_at': '2018-12-14T09:39:34Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753798202', 'type': 'WatchEvent', 'actor': {'id': 77268, 'login': 'jolestar', 'display_login': 'jolestar', 'gravatar_id': '', 'url': 'https://api.github.com/users/jolestar', 'avatar_url': 'https://avatars.githubusercontent.com/u/77268?'}, 'repo': {'id': 16852060, 'name': 'ethereum/wiki', 'url': 'https://api.github.com/repos/ethereum/wiki'}, 'payload': {'action': 'started'}, 'public': True, 'created_at': '2018-12-14T09:39:02Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753785836', 'type': 'IssueCommentEvent', 'actor': {'id': 22738317, 'login': 'mratsim', 'display_login': 'mratsim', 'gravatar_id': '', 'url': 'https://api.github.com/users/mratsim', 'avatar_url': 'https://avatars.githubusercontent.com/u/22738317?'}, 'repo': {'id': 149554797, 'name': 'ethereum/eth2.0-specs', 'url': 'https://api.github.com/repos/ethereum/eth2.0-specs'}, 'payload': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/ethereum/eth2.0-specs/issues/308', 'repository_url': 'https://api.github.com/repos/ethereum/eth2.0-specs', 'labels_url': 'https://api.github.com/repos/ethereum/eth2.0-specs/issues/308/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/eth2.0-specs/issues/308/comments', 'events_url': 'https://api.github.com/repos/ethereum/eth2.0-specs/issues/308/events', 'html_url': 'https://github.com/ethereum/eth2.0-specs/issues/308', 'id': 390622859, 'node_id': 'MDU6SXNzdWUzOTA2MjI4NTk=', 'number': 308, 'title': 'Lightclient, BeaconState and aggregation', 'user': {'login': 'mratsim', 'id': 22738317, 'node_id': 'MDQ6VXNlcjIyNzM4MzE3', 'avatar_url': 'https://avatars3.githubusercontent.com/u/22738317?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/mratsim', 'html_url': 'https://github.com/mratsim', 'followers_url': 'https://api.github.com/users/mratsim/followers', 'following_url': 'https://api.github.com/users/mratsim/following{/other_user}', 'gists_url': 'https://api.github.com/users/mratsim/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/mratsim/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/mratsim/subscriptions', 'organizations_url': 'https://api.github.com/users/mratsim/orgs', 'repos_url': 'https://api.github.com/users/mratsim/repos', 'events_url': 'https://api.github.com/users/mratsim/events{/privacy}', 'received_events_url': 'https://api.github.com/users/mratsim/received_events', 'type': 'User', 'site_admin': False}, 'labels': [{'id': 1063043872, 'node_id': 'MDU6TGFiZWwxMDYzMDQzODcy', 'url': 'https://api.github.com/repos/ethereum/eth2.0-specs/labels/question', 'name': 'question', 'color': 'FFF1D0', 'default': True}], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2018-12-13T10:52:44Z', 'updated_at': '2018-12-14T09:36:43Z', 'closed_at': None, 'author_association': 'CONTRIBUTOR', 'body': "Looking at the current BeaconState (https://github.com/ethereum/eth2.0-specs/blob/c1a3b29145c84c6ac4422314b7b54898ac9f6693/specs/core/0_beacon-chain.md), the fields are defined the following way:\r\n\r\n```python\r\n{\r\n    # Misc\r\n    'slot': 'uint64',\r\n    'genesis_time': 'uint64',\r\n    'fork_data': ForkData,  # For versioning hard forks\r\n\r\n    # Validator registry\r\n    'validator_registry': [ValidatorRecord],\r\n    'validator_registry_latest_change_slot': 'uint64',\r\n    'validator_registry_exit_count': 'uint64',\r\n    'validator_registry_delta_chain_tip': 'hash32',  # For light clients to track deltas\r\n    ...\r\n}\r\n```\r\n\r\nAnd BeaconBlocks are defined this way:\r\n\r\n```python\r\n{\r\n    ## Header ##\r\n    'slot': 'uint64',\r\n    # Skip list of ancestor beacon block hashes\r\n    # i'th item is the most recent ancestor whose slot is a multiple of 2**i for i = 0, ..., 31\r\n    'parent_root': 'hash32',\r\n    'state_root': 'hash32',\r\n    'randao_reveal': 'hash32',\r\n    'candidate_pow_receipt_root': 'hash32',\r\n    'signature': ['uint384'],\r\n\r\n    ## Body ##\r\n    'body': BeaconBlockBody,\r\n}\r\n```\r\n\r\nNotice that it's mentioning `signature` and not `aggregate_signature` like in `SlashableVoteData` and `Attestation` so it may be quite huge.\r\n\r\nWhat is the state that light clients must keep track of?"}, 'comment': {'url': 'https://api.github.com/repos/ethereum/eth2.0-specs/issues/comments/447269514', 'html_url': 'https://github.com/ethereum/eth2.0-specs/issues/308#issuecomment-447269514', 'issue_url': 'https://api.github.com/repos/ethereum/eth2.0-specs/issues/308', 'id': 447269514, 'node_id': 'MDEyOklzc3VlQ29tbWVudDQ0NzI2OTUxNA==', 'user': {'login': 'mratsim', 'id': 22738317, 'node_id': 'MDQ6VXNlcjIyNzM4MzE3', 'avatar_url': 'https://avatars3.githubusercontent.com/u/22738317?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/mratsim', 'html_url': 'https://github.com/mratsim', 'followers_url': 'https://api.github.com/users/mratsim/followers', 'following_url': 'https://api.github.com/users/mratsim/following{/other_user}', 'gists_url': 'https://api.github.com/users/mratsim/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/mratsim/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/mratsim/subscriptions', 'organizations_url': 'https://api.github.com/users/mratsim/orgs', 'repos_url': 'https://api.github.com/users/mratsim/repos', 'events_url': 'https://api.github.com/users/mratsim/events{/privacy}', 'received_events_url': 'https://api.github.com/users/mratsim/received_events', 'type': 'User', 'site_admin': False}, 'created_at': '2018-12-14T09:36:43Z', 'updated_at': '2018-12-14T09:36:43Z', 'author_association': 'CONTRIBUTOR', 'body': '`uint384` or `hash48` would be better'}}, 'public': True, 'created_at': '2018-12-14T09:36:43Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753771491', 'type': 'PullRequestReviewCommentEvent', 'actor': {'id': 521109, 'login': 'cburgdorf', 'display_login': 'cburgdorf', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'avatar_url': 'https://avatars.githubusercontent.com/u/521109?'}, 'repo': {'id': 77478378, 'name': 'ethereum/py-evm', 'url': 'https://api.github.com/repos/ethereum/py-evm'}, 'payload': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments/241691991', 'pull_request_review_id': 185027974, 'id': 241691991, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MTY5MTk5MQ==', 'diff_hunk': '@@ -440,14 +444,77 @@ def nodekey(self, value: Union[bytes, PrivateKey]) -> None:\n                 f"`PrivateKey` instance: got {type(self._nodekey)}"\n             )\n \n+    @contextmanager\n+    def process_id_file(self, process_name: str):  # type: ignore\n+        with PidFile(process_name, self.data_dir):\n+            yield\n+\n     @classmethod\n-    def from_parser_args(cls, parser_args: argparse.Namespace) -> \'TrinityConfig\':\n+    def from_parser_args(cls,\n+                         parser_args: argparse.Namespace,\n+                         app_config_types: Iterable[Type[\'BaseAppConfig\']]) -> \'TrinityConfig\':\n         """\n         Helper function for initializing from the namespace object produced by\n         an ``argparse.ArgumentParser``\n         """\n         constructor_kwargs = construct_trinity_config_params(parser_args)\n-        return cls(**constructor_kwargs)\n+        trinity_config = cls(**constructor_kwargs)\n+\n+        trinity_config.initialize_app_configs(parser_args, app_config_types)\n+\n+        return trinity_config\n+\n+    def initialize_app_configs(self,\n+                               parser_args: argparse.Namespace,\n+                               app_config_types: Iterable[Type[\'BaseAppConfig\']]) -> None:\n+\n+        for app_config_type in app_config_types:\n+            self.add_app_config(app_config_type.from_parser_args(parser_args, self))\n+\n+    def add_app_config(self, app_config: \'BaseAppConfig\') -> None:\n+        self._app_configs[type(app_config)] = app_config\n+\n+    def has_app_config(self, app_config_type: Type[\'BaseAppConfig\']) -> bool:\n+        return app_config_type in self._app_configs.keys()\n+\n+    def get_app_config(self, app_config_type: Type[TAppConfig]) -> TAppConfig:\n+        # We want this API to return the specific type of the app config that is requested.\n+        # Our backing field only knows that it is holding `BaseAppConfig`\'s but not concrete types\n+        return cast(TAppConfig, self._app_configs[app_config_type])\n+\n+\n+class BaseAppConfig(ABC):\n+\n+    @classmethod\n+    @abstractmethod\n+    def from_parser_args(cls,\n+                         args: argparse.Namespace,\n+                         base_config: TrinityConfig) -> \'BaseAppConfig\':\n+        pass\n+\n+\n+class DefaultBaseAppConfig(BaseAppConfig):', 'path': 'trinity/config.py', 'position': 153, 'original_position': 117, 'commit_id': '2df39dbfd6eddcb74b8d330c9651d57fb6f0e63c', 'original_commit_id': '4d9c4b66cfe369977507ff2b72b318d731184cbf', 'user': {'login': 'cburgdorf', 'id': 521109, 'node_id': 'MDQ6VXNlcjUyMTEwOQ==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/521109?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'html_url': 'https://github.com/cburgdorf', 'followers_url': 'https://api.github.com/users/cburgdorf/followers', 'following_url': 'https://api.github.com/users/cburgdorf/following{/other_user}', 'gists_url': 'https://api.github.com/users/cburgdorf/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cburgdorf/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cburgdorf/subscriptions', 'organizations_url': 'https://api.github.com/users/cburgdorf/orgs', 'repos_url': 'https://api.github.com/users/cburgdorf/repos', 'events_url': 'https://api.github.com/users/cburgdorf/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cburgdorf/received_events', 'type': 'User', 'site_admin': False}, 'body': ">A lot of my reasoning is centered around how the Config classes are tested so admittedly this doesn't have much effect on the end result as far as production code goes.\r\n\r\nAh, I missed that goal to spread out the `args` into individual parameters for better testing. That sounds reasonable.\r\n\r\nI would however, still favor to at least provide an `__init__(trinity_config: TrinityConfig)__` and have child classes overwrite and extend that. Not having the `trinity_config` access standardized just doesn't sit so well with me.  ", 'created_at': '2018-12-14T09:34:04Z', 'updated_at': '2018-12-14T09:34:04Z', 'html_url': 'https://github.com/ethereum/py-evm/pull/1566#discussion_r241691991', 'pull_request_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1566', 'author_association': 'CONTRIBUTOR', '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments/241691991'}, 'html': {'href': 'https://github.com/ethereum/py-evm/pull/1566#discussion_r241691991'}, 'pull_request': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1566'}}, 'in_reply_to_id': 241359338}, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1566', 'id': 237350141, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM3MzUwMTQx', 'html_url': 'https://github.com/ethereum/py-evm/pull/1566', 'diff_url': 'https://github.com/ethereum/py-evm/pull/1566.diff', 'patch_url': 'https://github.com/ethereum/py-evm/pull/1566.patch', 'issue_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1566', 'number': 1566, 'state': 'open', 'locked': False, 'title': 'Teach TrinityConfig to handle sub configs', 'user': {'login': 'cburgdorf', 'id': 521109, 'node_id': 'MDQ6VXNlcjUyMTEwOQ==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/521109?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'html_url': 'https://github.com/cburgdorf', 'followers_url': 'https://api.github.com/users/cburgdorf/followers', 'following_url': 'https://api.github.com/users/cburgdorf/following{/other_user}', 'gists_url': 'https://api.github.com/users/cburgdorf/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cburgdorf/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cburgdorf/subscriptions', 'organizations_url': 'https://api.github.com/users/cburgdorf/orgs', 'repos_url': 'https://api.github.com/users/cburgdorf/repos', 'events_url': 'https://api.github.com/users/cburgdorf/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cburgdorf/received_events', 'type': 'User', 'site_admin': False}, 'body': '### What was wrong?\r\n\r\nAs we aim to support more and more node types using one common `TrinityConfig` becomes seems to become less sustainable as it would mean that e.g. we need to add things for the beacon node into the `TrinityConfig` that will just be noise for other node types. In language theory speak, that would lower the cohesion of the `TrinityConfig`which is a bad thing.\r\n\r\n### How was it fixed?\r\n\r\nRelated discussion: https://github.com/ethereum/py-evm/pull/1556#discussion_r240014047\r\n\r\n1.This introduces a concept of sub configurations which need to be derived from `BaseSubConfig`. \r\n\r\n```python\r\nclass BaseSubConfig:\r\n\r\n    def __init__(self, args: argparse.Namespace, base_config: TrinityConfig) -> None:\r\n        self.args = args\r\n        self.base_config = base_config\r\n```\r\n\r\n2. `TrinityConfig.from_parser_args` now accepts an additional `Iterable[BaseSubConfig` to bootstrap any number of given sub configs.\r\n\r\n3. `TrinityConfig` now has APIs `has_sub_config()` and `get_sub_config` to work with sub configs \r\n\r\n#### Cute Animal Picture\r\n\r\n![put a cute animal picture link inside the parentheses](https://i.dailymail.co.uk/i/pix/2011/04/04/article-0-0B78E26500000578-768_964x660.jpg)\r\n', 'created_at': '2018-12-10T14:58:44Z', 'updated_at': '2018-12-14T09:34:04Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '9b90b009eb4cef849811f2a599c69cecf6d09885', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1566/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1566/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1566/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/py-evm/statuses/2df39dbfd6eddcb74b8d330c9651d57fb6f0e63c', 'head': {'label': 'cburgdorf:christoph/feat/sub-configs', 'ref': 'christoph/feat/sub-configs', 'sha': '2df39dbfd6eddcb74b8d330c9651d57fb6f0e63c', 'user': {'login': 'cburgdorf', 'id': 521109, 'node_id': 'MDQ6VXNlcjUyMTEwOQ==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/521109?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'html_url': 'https://github.com/cburgdorf', 'followers_url': 'https://api.github.com/users/cburgdorf/followers', 'following_url': 'https://api.github.com/users/cburgdorf/following{/other_user}', 'gists_url': 'https://api.github.com/users/cburgdorf/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cburgdorf/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cburgdorf/subscriptions', 'organizations_url': 'https://api.github.com/users/cburgdorf/orgs', 'repos_url': 'https://api.github.com/users/cburgdorf/repos', 'events_url': 'https://api.github.com/users/cburgdorf/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cburgdorf/received_events', 'type': 'User', 'site_admin': False}, 'repo': {'id': 122467896, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMjI0Njc4OTY=', 'name': 'py-evm', 'full_name': 'cburgdorf/py-evm', 'private': False, 'owner': {'login': 'cburgdorf', 'id': 521109, 'node_id': 'MDQ6VXNlcjUyMTEwOQ==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/521109?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'html_url': 'https://github.com/cburgdorf', 'followers_url': 'https://api.github.com/users/cburgdorf/followers', 'following_url': 'https://api.github.com/users/cburgdorf/following{/other_user}', 'gists_url': 'https://api.github.com/users/cburgdorf/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cburgdorf/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cburgdorf/subscriptions', 'organizations_url': 'https://api.github.com/users/cburgdorf/orgs', 'repos_url': 'https://api.github.com/users/cburgdorf/repos', 'events_url': 'https://api.github.com/users/cburgdorf/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cburgdorf/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/cburgdorf/py-evm', 'description': 'A Python implementation of the Ethereum Virtual Machine', 'fork': True, 'url': 'https://api.github.com/repos/cburgdorf/py-evm', 'forks_url': 'https://api.github.com/repos/cburgdorf/py-evm/forks', 'keys_url': 'https://api.github.com/repos/cburgdorf/py-evm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/cburgdorf/py-evm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/cburgdorf/py-evm/teams', 'hooks_url': 'https://api.github.com/repos/cburgdorf/py-evm/hooks', 'issue_events_url': 'https://api.github.com/repos/cburgdorf/py-evm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/cburgdorf/py-evm/events', 'assignees_url': 'https://api.github.com/repos/cburgdorf/py-evm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/cburgdorf/py-evm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/cburgdorf/py-evm/tags', 'blobs_url': 'https://api.github.com/repos/cburgdorf/py-evm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/cburgdorf/py-evm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/cburgdorf/py-evm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/cburgdorf/py-evm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/cburgdorf/py-evm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/cburgdorf/py-evm/languages', 'stargazers_url': 'https://api.github.com/repos/cburgdorf/py-evm/stargazers', 'contributors_url': 'https://api.github.com/repos/cburgdorf/py-evm/contributors', 'subscribers_url': 'https://api.github.com/repos/cburgdorf/py-evm/subscribers', 'subscription_url': 'https://api.github.com/repos/cburgdorf/py-evm/subscription', 'commits_url': 'https://api.github.com/repos/cburgdorf/py-evm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/cburgdorf/py-evm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/cburgdorf/py-evm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/cburgdorf/py-evm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/cburgdorf/py-evm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/cburgdorf/py-evm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/cburgdorf/py-evm/merges', 'archive_url': 'https://api.github.com/repos/cburgdorf/py-evm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/cburgdorf/py-evm/downloads', 'issues_url': 'https://api.github.com/repos/cburgdorf/py-evm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/cburgdorf/py-evm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/cburgdorf/py-evm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/cburgdorf/py-evm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/cburgdorf/py-evm/labels{/name}', 'releases_url': 'https://api.github.com/repos/cburgdorf/py-evm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/cburgdorf/py-evm/deployments', 'created_at': '2018-02-22T11:07:50Z', 'updated_at': '2018-03-28T15:01:32Z', 'pushed_at': '2018-12-13T12:28:00Z', 'git_url': 'git://github.com/cburgdorf/py-evm.git', 'ssh_url': '[email protected]:cburgdorf/py-evm.git', 'clone_url': 'https://github.com/cburgdorf/py-evm.git', 'svn_url': 'https://github.com/cburgdorf/py-evm', 'homepage': 'http://py-evm.readthedocs.io/en/latest/', 'size': 8252, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'Python', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'open_issues_count': 1, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'forks': 0, 'open_issues': 1, 'watchers': 0, 'default_branch': 'master'}}, 'base': {'label': 'ethereum:master', 'ref': 'master', 'sha': '7e3b313dbb485fe16729cc40b442310afd750dc2', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 77478378, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NzQ3ODM3OA==', 'name': 'py-evm', 'full_name': 'ethereum/py-evm', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/py-evm', 'description': 'A Python implementation of the Ethereum Virtual Machine', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/py-evm', 'forks_url': 'https://api.github.com/repos/ethereum/py-evm/forks', 'keys_url': 'https://api.github.com/repos/ethereum/py-evm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/py-evm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/py-evm/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/py-evm/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/py-evm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/py-evm/events', 'assignees_url': 'https://api.github.com/repos/ethereum/py-evm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/py-evm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/py-evm/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/py-evm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/py-evm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/py-evm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/py-evm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/py-evm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/py-evm/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/py-evm/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/py-evm/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/py-evm/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/py-evm/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/py-evm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/py-evm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/py-evm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/py-evm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/py-evm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/py-evm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/py-evm/merges', 'archive_url': 'https://api.github.com/repos/ethereum/py-evm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/py-evm/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/py-evm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/py-evm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/py-evm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/py-evm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/py-evm/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/py-evm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/py-evm/deployments', 'created_at': '2016-12-27T19:36:00Z', 'updated_at': '2018-12-14T08:56:37Z', 'pushed_at': '2018-12-14T09:20:00Z', 'git_url': 'git://github.com/ethereum/py-evm.git', 'ssh_url': '[email protected]:ethereum/py-evm.git', 'clone_url': 'https://github.com/ethereum/py-evm.git', 'svn_url': 'https://github.com/ethereum/py-evm', 'homepage': 'https://trinity.ethereum.org/', 'size': 6618, 'stargazers_count': 752, 'watchers_count': 752, 'language': 'Python', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 336, 'mirror_url': None, 'archived': False, 'open_issues_count': 164, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'forks': 336, 'open_issues': 164, 'watchers': 752, 'default_branch': 'master'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1566'}, 'html': {'href': 'https://github.com/ethereum/py-evm/pull/1566'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/py-evm/issues/1566'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/py-evm/issues/1566/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1566/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1566/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/py-evm/statuses/2df39dbfd6eddcb74b8d330c9651d57fb6f0e63c'}}, 'author_association': 'CONTRIBUTOR'}}, 'public': True, 'created_at': '2018-12-14T09:34:04Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753766430', 'type': 'WatchEvent', 'actor': {'id': 15799431, 'login': 'xiaoch05', 'display_login': 'xiaoch05', 'gravatar_id': '', 'url': 'https://api.github.com/users/xiaoch05', 'avatar_url': 'https://avatars.githubusercontent.com/u/15799431?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'action': 'started'}, 'public': True, 'created_at': '2018-12-14T09:33:08Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753763965', 'type': 'IssuesEvent', 'actor': {'id': 142290, 'login': 'holiman', 'display_login': 'holiman', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'avatar_url': 'https://avatars.githubusercontent.com/u/142290?'}, 'repo': {'id': 62554553, 'name': 'ethereum/hive', 'url': 'https://api.github.com/repos/ethereum/hive'}, 'payload': {'action': 'closed', 'issue': {'url': 'https://api.github.com/repos/ethereum/hive/issues/146', 'repository_url': 'https://api.github.com/repos/ethereum/hive', 'labels_url': 'https://api.github.com/repos/ethereum/hive/issues/146/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/hive/issues/146/comments', 'events_url': 'https://api.github.com/repos/ethereum/hive/issues/146/events', 'html_url': 'https://github.com/ethereum/hive/issues/146', 'id': 383763681, 'node_id': 'MDU6SXNzdWUzODM3NjM2ODE=', 'number': 146, 'title': 'ethereum/consensus simulator failure', 'user': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignee': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'assignees': [{'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}], 'milestone': None, 'comments': 0, 'created_at': '2018-11-23T10:05:36Z', 'updated_at': '2018-12-14T09:32:40Z', 'closed_at': '2018-12-14T09:32:40Z', 'author_association': 'COLLABORATOR', 'body': 'These pops up:\r\n\r\n```\r\nINFO[11-23|10:04:13] message from simulator                   simulator=ethereum/consensus log="Failed to kill node Node[75de696d]@172.18.0.10: Traceback (most recent call last):\\n  File \\"/hivemodel.py\\", line 247, in _startNodeAndRunTest\\n    self.hive.killNode(node)\\n  File \\"/hivemodel.py\\", line 137, in killNode\\n    self._delete(\\"/nodes/%s\\" % node.nodeId)\\n  File \\"/hivemodel.py\\", line 86, in _delete\\n    raise Exception(\\"Failed to DELETE req (%d)\\" % req.status_code)\\nException: Failed to DELETE req (404)\\n"\r\n```\r\n\r\n```\r\nFailed to kill node Node[75de696d]@172.18.0.10: \r\nTraceback (most recent call last):\r\n File \\"/hivemodel.py\\", line 247, in _startNodeAndRunTest\r\n    self.hive.killNode(node)\r\n  File \\"/hivemodel.py\\", line 137, in killNode\r\n    self._delete(\\"/nodes/%s\\" % node.nodeId)\r\n  File \\"/hivemodel.py\\", line 86, in _delete\r\n    raise Exception(\\"Failed to DELETE req (%d)\\" % req.status_code)\\nException: Failed to DELETE req (404)\r\n```\r\nSo the framework is giving us a `404` on deletion'}}, 'public': True, 'created_at': '2018-12-14T09:32:40Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753760058', 'type': 'IssuesEvent', 'actor': {'id': 142290, 'login': 'holiman', 'display_login': 'holiman', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'avatar_url': 'https://avatars.githubusercontent.com/u/142290?'}, 'repo': {'id': 93610217, 'name': 'ethereum/evmlab', 'url': 'https://api.github.com/repos/ethereum/evmlab'}, 'payload': {'action': 'closed', 'issue': {'url': 'https://api.github.com/repos/ethereum/evmlab/issues/102', 'repository_url': 'https://api.github.com/repos/ethereum/evmlab', 'labels_url': 'https://api.github.com/repos/ethereum/evmlab/issues/102/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/evmlab/issues/102/comments', 'events_url': 'https://api.github.com/repos/ethereum/evmlab/issues/102/events', 'html_url': 'https://github.com/ethereum/evmlab/issues/102', 'id': 371486037, 'node_id': 'MDU6SXNzdWUzNzE0ODYwMzc=', 'number': 102, 'title': 'Fuzzer engine, spurious failures', 'user': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 6, 'created_at': '2018-10-18T11:32:29Z', 'updated_at': '2018-12-14T09:31:54Z', 'closed_at': '2018-12-14T09:31:54Z', 'author_association': 'COLLABORATOR', 'body': 'Sometimes, this happens:\r\n```\r\n2018-10-18 09:33:58,001 - INFO - Starting processes for [\'geth\', \'parity\'] on test DEFAULT-Wed_09_22_38-11214-573185\r\n2018-10-18 09:33:58,179 - INFO - All procs finished for test DEFAULT-Wed_09_22_38-11214-573183\r\n2018-10-18 09:33:58,232 - INFO - Processed 3228 steps for geth on test DEFAULT-Wed_09_22_38-11214-573183, pTime:53.07 ms\r\nTraceback (most recent call last):\r\n  File "utilities/fuzzerweb.py", line 59, in <module>\r\n    main()\r\n  File "utilities/fuzzerweb.py", line 55, in main\r\n    f.startFuzzing()\r\n  File "/datadrive/evmlab/utilities/fuzzer.py", line 593, in startFuzzing\r\n    self.postprocess_test(test)\r\n  File "/datadrive/evmlab/utilities/fuzzer.py", line 524, in postprocess_test\r\n    data = end_processes(test)\r\n  File "/datadrive/evmlab/utilities/fuzzer.py", line 424, in end_processes\r\n    with open(test.tempTraceLocation(client_name)) as output:\r\nFileNotFoundError: [Errno 2] No such file or directory: \'/datadrive/evmlabtemp/logs/DEFAULT-Wed_09_22_38-11214-573183-parity.trace.log\'\r\n```\r\nI ran the testcase in question manually inside the parity docker image, and it worked fine. But for some reason, the file didn\'t exist. Disk was not full. It happened after `573182` testcases, so it doesn\'t happen often. '}}, 'public': True, 'created_at': '2018-12-14T09:31:54Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753759531', 'type': 'IssuesEvent', 'actor': {'id': 5955411, 'login': 'cheatfate', 'display_login': 'cheatfate', 'gravatar_id': '', 'url': 'https://api.github.com/users/cheatfate', 'avatar_url': 'https://avatars.githubusercontent.com/u/5955411?'}, 'repo': {'id': 149554797, 'name': 'ethereum/eth2.0-specs', 'url': 'https://api.github.com/repos/ethereum/eth2.0-specs'}, 'payload': {'action': 'opened', 'issue': {'url': 'https://api.github.com/repos/ethereum/eth2.0-specs/issues/320', 'repository_url': 'https://api.github.com/repos/ethereum/eth2.0-specs', 'labels_url': 'https://api.github.com/repos/ethereum/eth2.0-specs/issues/320/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/eth2.0-specs/issues/320/comments', 'events_url': 'https://api.github.com/repos/ethereum/eth2.0-specs/issues/320/events', 'html_url': 'https://github.com/ethereum/eth2.0-specs/issues/320', 'id': 391032309, 'node_id': 'MDU6SXNzdWUzOTEwMzIzMDk=', 'number': 320, 'title': 'BLS signature verification requires double hashing message.', 'user': {'login': 'cheatfate', 'id': 5955411, 'node_id': 'MDQ6VXNlcjU5NTU0MTE=', 'avatar_url': 'https://avatars2.githubusercontent.com/u/5955411?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cheatfate', 'html_url': 'https://github.com/cheatfate', 'followers_url': 'https://api.github.com/users/cheatfate/followers', 'following_url': 'https://api.github.com/users/cheatfate/following{/other_user}', 'gists_url': 'https://api.github.com/users/cheatfate/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cheatfate/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cheatfate/subscriptions', 'organizations_url': 'https://api.github.com/users/cheatfate/orgs', 'repos_url': 'https://api.github.com/users/cheatfate/repos', 'events_url': 'https://api.github.com/users/cheatfate/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cheatfate/received_events', 'type': 'User', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 0, 'created_at': '2018-12-14T09:31:47Z', 'updated_at': '2018-12-14T09:31:47Z', 'closed_at': None, 'author_association': 'NONE', 'body': "BLS signature verification requires double hashing message.\r\n\r\nIn current version of [BLS signature verification](https://github.com/ethereum/eth2.0-specs/blob/master/specs/bls_verify.md#hash_to_g2) present such lines:\r\n\r\n\r\n```python\r\n  x_re = int.from_bytes(hash(bytes8(domain) + b'\\x01' + message), 'big')\r\n  x_im = int.from_bytes(hash(bytes8(domain) + b'\\x02' + message), 'big')\r\n```\r\n\r\nIn such case `message` hashing performs 2x times, this can be ineffective, because\r\nmessage can be big in size or data gathering process for `message` can be cpu intensive task.\r\n\r\nThis is pseudo-code for current hashing method:\r\n\r\n```nim\r\nvar ctx1, ctx2: keccak256\r\nctx1.init()\r\nctx1.update(bytes(domain))\r\nctx2 = ctx1\r\nctx1.update(bytes(0x01))\r\nctx1.update(message)\r\nvar xre = ctx1.finish()\r\nctx2.update(bytes(0x02))\r\nctx2.update(message)\r\nvar xi = ctx2.finish()\r\n```\r\n\r\nAs you can see only `domain` field hashing can be cached and optimized, and `hash(message)` must be performed twice for both `xre` and `xi`.\r\n\r\nIf you change current hashing method to:\r\n\r\n```python\r\n  x_re = int.from_bytes(hash(message + bytes8(domain) + b'\\x01'), 'big')\r\n  x_im = int.from_bytes(hash(message + bytes8(domain) + b'\\x02'), 'big')\r\n```\r\n\r\nPseudo code will looks like this:\r\n\r\n```nim\r\nvar ctx1, ctx2: keccak256\r\nctx1.init()\r\nctx1.update(message)\r\nctx1.update(bytes(domain))\r\nctx2 = ctx1\r\nctx1.update(bytes(0x01))\r\nvar xre = ctx1.finish()\r\nctx2.update(bytes(0x02))\r\nvar xi = ctx2.finish()\r\n```\r\n\r\nAs you can see not only `domain` argument cached, but `message` too.\r\nSo `hash(message)` operation performed only once.\r\n\r\nBut if you dont like scheme above, here is one more:\r\n\r\n```python\r\n  x_re = int.from_bytes(hash(bytes8(domain) + b'\\x01' + hash(message)), 'big')\r\n  x_im = int.from_bytes(hash(bytes8(domain) + b'\\x02' + hash(message)), 'big')\r\n```\r\n\r\nIn such way you can perform `hash(message)` only one time too.\r\n\r\nPseudo code will looks like this:\r\n\r\n```nim\r\nvar ctx1, ctx2: keccak256\r\nctx1.init()\r\nctx1.update(message)\r\nvar msgdigest = ctx1.finish()\r\nctx1.init()\r\nctx1.update(bytes(domain))\r\nctx2 = ctx1\r\nctx1.update(bytes(0x01))\r\nctx1.update(msgdigest)\r\nvar xre = ctx1.finish()\r\nctx2.update(bytes(0x02))\r\nctx2.update(msgdigest)\r\nvar xi = ctx2.finish()\r\n```\r\n"}}, 'public': True, 'created_at': '2018-12-14T09:31:48Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753758636', 'type': 'IssuesEvent', 'actor': {'id': 142290, 'login': 'holiman', 'display_login': 'holiman', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'avatar_url': 'https://avatars.githubusercontent.com/u/142290?'}, 'repo': {'id': 62554553, 'name': 'ethereum/hive', 'url': 'https://api.github.com/repos/ethereum/hive'}, 'payload': {'action': 'closed', 'issue': {'url': 'https://api.github.com/repos/ethereum/hive/issues/129', 'repository_url': 'https://api.github.com/repos/ethereum/hive', 'labels_url': 'https://api.github.com/repos/ethereum/hive/issues/129/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/hive/issues/129/comments', 'events_url': 'https://api.github.com/repos/ethereum/hive/issues/129/events', 'html_url': 'https://github.com/ethereum/hive/issues/129', 'id': 367139971, 'node_id': 'MDU6SXNzdWUzNjcxMzk5NzE=', 'number': 129, 'title': 'Multistage docker build does not reload base image', 'user': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2018-10-05T09:55:13Z', 'updated_at': '2018-12-14T09:31:38Z', 'closed_at': '2018-12-14T09:31:38Z', 'author_association': 'COLLABORATOR', 'body': "aleth seems to only ever run on `40566e5` : http://hivetests.ethstats.net/. Seems there's some problem with caching in hive, where it doesn't refetch the base image when building\r\n\r\nhttps://github.com/karalabe/hive/blob/master/clients/aleth:nightly/Dockerfile#L10\r\n\r\ncc @chfast "}}, 'public': True, 'created_at': '2018-12-14T09:31:38Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753757292', 'type': 'IssuesEvent', 'actor': {'id': 142290, 'login': 'holiman', 'display_login': 'holiman', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'avatar_url': 'https://avatars.githubusercontent.com/u/142290?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'action': 'closed', 'issue': {'url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18181', 'repository_url': 'https://api.github.com/repos/ethereum/go-ethereum', 'labels_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18181/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18181/comments', 'events_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18181/events', 'html_url': 'https://github.com/ethereum/go-ethereum/issues/18181', 'id': 384269858, 'node_id': 'MDU6SXNzdWUzODQyNjk4NTg=', 'number': 18181, 'title': 'Performance: disable EvictNS', 'user': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'labels': [{'id': 72233652, 'node_id': 'MDU6TGFiZWw3MjIzMzY1Mg==', 'url': 'https://api.github.com/repos/ethereum/go-ethereum/labels/enhancement', 'name': 'enhancement', 'color': '84b6eb', 'default': True}], 'state': 'closed', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 7, 'created_at': '2018-11-26T10:39:56Z', 'updated_at': '2018-12-14T09:31:22Z', 'closed_at': '2018-12-14T09:31:22Z', 'author_association': 'CONTRIBUTOR', 'body': 'See https://github.com/syndtr/goleveldb/issues/245 \r\n\r\nProfiling done while importing blocks during a full sync, somewhere around the 4M -range. \r\n![profile002](https://user-images.githubusercontent.com/142290/49008933-6d2b0580-f16f-11e8-8869-a15f6c1788c2.gif)\r\n\r\nEvictNS responsible for `10.28s` , which is more than double the time spent on `keccakF1600`'}}, 'public': True, 'created_at': '2018-12-14T09:31:22Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753753557', 'type': 'IssuesEvent', 'actor': {'id': 521109, 'login': 'cburgdorf', 'display_login': 'cburgdorf', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'avatar_url': 'https://avatars.githubusercontent.com/u/521109?'}, 'repo': {'id': 77478378, 'name': 'ethereum/py-evm', 'url': 'https://api.github.com/repos/ethereum/py-evm'}, 'payload': {'action': 'closed', 'issue': {'url': 'https://api.github.com/repos/ethereum/py-evm/issues/1583', 'repository_url': 'https://api.github.com/repos/ethereum/py-evm', 'labels_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1583/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1583/comments', 'events_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1583/events', 'html_url': 'https://github.com/ethereum/py-evm/issues/1583', 'id': 390123862, 'node_id': 'MDU6SXNzdWUzOTAxMjM4NjI=', 'number': 1583, 'title': "PeerPool / Discovery don't answer event bus requests after some time", 'user': {'login': 'cburgdorf', 'id': 521109, 'node_id': 'MDQ6VXNlcjUyMTEwOQ==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/521109?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'html_url': 'https://github.com/cburgdorf', 'followers_url': 'https://api.github.com/users/cburgdorf/followers', 'following_url': 'https://api.github.com/users/cburgdorf/following{/other_user}', 'gists_url': 'https://api.github.com/users/cburgdorf/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cburgdorf/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cburgdorf/subscriptions', 'organizations_url': 'https://api.github.com/users/cburgdorf/orgs', 'repos_url': 'https://api.github.com/users/cburgdorf/repos', 'events_url': 'https://api.github.com/users/cburgdorf/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cburgdorf/received_events', 'type': 'User', 'site_admin': False}, 'labels': [{'id': 815420353, 'node_id': 'MDU6TGFiZWw4MTU0MjAzNTM=', 'url': 'https://api.github.com/repos/ethereum/py-evm/labels/comp:%20trinity', 'name': 'comp: trinity', 'color': 'bfd4f2', 'default': False}, {'id': 983627565, 'node_id': 'MDU6TGFiZWw5ODM2Mjc1NjU=', 'url': 'https://api.github.com/repos/ethereum/py-evm/labels/prio:%20P2%20required', 'name': 'prio: P2 required', 'color': 'f7c6c7', 'default': False}, {'id': 630871939, 'node_id': 'MDU6TGFiZWw2MzA4NzE5Mzk=', 'url': 'https://api.github.com/repos/ethereum/py-evm/labels/type:%20bug', 'name': 'type: bug', 'color': 'eeeeee', 'default': False}], 'state': 'closed', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 4, 'created_at': '2018-12-12T08:55:49Z', 'updated_at': '2018-12-14T09:30:39Z', 'closed_at': '2018-12-14T09:30:39Z', 'author_association': 'CONTRIBUTOR', 'body': "### What is wrong?\r\n\r\nYesterday I put #1556 to work on a server ant today I noticed that the node has more or less stalled with the log being overwhelmed by these warnings.\r\n\r\n```\r\n WARNING  12-12 08:36:55       EthstatsService  Timeout: PeerPool did not answer PeerCountRequest\r\n WARNING  12-12 08:36:56           ETHPeerPool  Discovery did not answer PeerCandidateRequest in time\r\n WARNING  12-12 08:36:59           ETHPeerPool  Discovery did not answer PeerCandidateRequest in time\r\n WARNING  12-12 08:37:00       EthstatsService  Timeout: PeerPool did not answer PeerCountRequest\r\n WARNING  12-12 08:37:01           ETHPeerPool  Discovery did not answer PeerCandidateRequest in time\r\n WARNING  12-12 08:37:04           ETHPeerPool  Discovery did not answer PeerCandidateRequest in time\r\n WARNING  12-12 08:37:06       EthstatsService  Timeout: PeerPool did not answer PeerCountRequest\r\n WARNING  12-12 08:37:06           ETHPeerPool  Discovery did not answer PeerCandidateRequest in time\r\n WARNING  12-12 08:37:09           ETHPeerPool  Discovery did not answer PeerCandidateRequest in time\r\n WARNING  12-12 08:37:11           ETHPeerPool  Discovery did not answer PeerCandidateRequest in time\r\n WARNING  12-12 08:37:11       EthstatsService  Timeout: PeerPool did not answer PeerCountRequest\r\n WARNING  12-12 08:37:14           ETHPeerPool  Discovery did not answer PeerCandidateRequest in time\r\n```\r\n\r\nThe interesting thing here is, I noticed this one before:\r\n\r\n>EthstatsService  Timeout: PeerPool did not answer PeerCountRequest\r\n\r\nAnd so far, I thought this may just be the `PeerPool` being to busy to answer the request by the `EthstatsService` timely.\r\n\r\nBut now after seeing this one, I feel like I need to look deeper into this.\r\n\r\n>ETHPeerPool  Discovery did not answer PeerCandidateRequest in time\r\n\r\nI also ran `trinity attach` to see if `w3.net.peerCount` would be responding and in fact it times out. The same happens with `w3.net.version` which isn't even served from the PeerPool (but it is still running on the same event loop / event bus endpoint)\r\n\r\nThis leads to the question what if there is some form of memory leak / bug in lahja where after some time, the event bus just stalls and cant process any further messages.\r\n\r\n### How can it be fixed\r\n\r\nThere are two things I plan to do:\r\n\r\n1. I will take the existing lahja benchmark and start it with parameters that will effectively cause a very long run over several hours to see if they stall at some point. This can give us an indicator if there's something wrong with lahja.\r\n\r\n**Update**: Started this now: `python scripts/perf_benchmark.py --num-processes 10 --num-events 36000 --throttle 0.5 &> benchmark2.log`\r\n\r\nThis should push broadcast one event every 0.5 seconds, to 10 connected processes, 36000 events in total. If my math is correct, this would run over the next 5 hours.\r\n\r\n2. I will write a tiny stupid plugin to just ping pong messages via the EventBus that I will run in the context of Trinity for several hours to see if that stalls as well. This can give us an indicator if there's something wrong with how the event bus is integrated in Trinity or it may also show us that there's no problem with the EventBus but with the PeerPool / Discovery instead.\r\n\r\n3. Looking through the logs to find anything suspicious around the time when it stops responding to requests."}}, 'public': True, 'created_at': '2018-12-14T09:30:40Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753753536', 'type': 'IssueCommentEvent', 'actor': {'id': 521109, 'login': 'cburgdorf', 'display_login': 'cburgdorf', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'avatar_url': 'https://avatars.githubusercontent.com/u/521109?'}, 'repo': {'id': 77478378, 'name': 'ethereum/py-evm', 'url': 'https://api.github.com/repos/ethereum/py-evm'}, 'payload': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/ethereum/py-evm/issues/1583', 'repository_url': 'https://api.github.com/repos/ethereum/py-evm', 'labels_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1583/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1583/comments', 'events_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1583/events', 'html_url': 'https://github.com/ethereum/py-evm/issues/1583', 'id': 390123862, 'node_id': 'MDU6SXNzdWUzOTAxMjM4NjI=', 'number': 1583, 'title': "PeerPool / Discovery don't answer event bus requests after some time", 'user': {'login': 'cburgdorf', 'id': 521109, 'node_id': 'MDQ6VXNlcjUyMTEwOQ==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/521109?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'html_url': 'https://github.com/cburgdorf', 'followers_url': 'https://api.github.com/users/cburgdorf/followers', 'following_url': 'https://api.github.com/users/cburgdorf/following{/other_user}', 'gists_url': 'https://api.github.com/users/cburgdorf/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cburgdorf/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cburgdorf/subscriptions', 'organizations_url': 'https://api.github.com/users/cburgdorf/orgs', 'repos_url': 'https://api.github.com/users/cburgdorf/repos', 'events_url': 'https://api.github.com/users/cburgdorf/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cburgdorf/received_events', 'type': 'User', 'site_admin': False}, 'labels': [{'id': 815420353, 'node_id': 'MDU6TGFiZWw4MTU0MjAzNTM=', 'url': 'https://api.github.com/repos/ethereum/py-evm/labels/comp:%20trinity', 'name': 'comp: trinity', 'color': 'bfd4f2', 'default': False}, {'id': 983627565, 'node_id': 'MDU6TGFiZWw5ODM2Mjc1NjU=', 'url': 'https://api.github.com/repos/ethereum/py-evm/labels/prio:%20P2%20required', 'name': 'prio: P2 required', 'color': 'f7c6c7', 'default': False}, {'id': 630871939, 'node_id': 'MDU6TGFiZWw2MzA4NzE5Mzk=', 'url': 'https://api.github.com/repos/ethereum/py-evm/labels/type:%20bug', 'name': 'type: bug', 'color': 'eeeeee', 'default': False}], 'state': 'closed', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2018-12-12T08:55:49Z', 'updated_at': '2018-12-14T09:30:39Z', 'closed_at': '2018-12-14T09:30:39Z', 'author_association': 'CONTRIBUTOR', 'body': "### What is wrong?\r\n\r\nYesterday I put #1556 to work on a server ant today I noticed that the node has more or less stalled with the log being overwhelmed by these warnings.\r\n\r\n```\r\n WARNING  12-12 08:36:55       EthstatsService  Timeout: PeerPool did not answer PeerCountRequest\r\n WARNING  12-12 08:36:56           ETHPeerPool  Discovery did not answer PeerCandidateRequest in time\r\n WARNING  12-12 08:36:59           ETHPeerPool  Discovery did not answer PeerCandidateRequest in time\r\n WARNING  12-12 08:37:00       EthstatsService  Timeout: PeerPool did not answer PeerCountRequest\r\n WARNING  12-12 08:37:01           ETHPeerPool  Discovery did not answer PeerCandidateRequest in time\r\n WARNING  12-12 08:37:04           ETHPeerPool  Discovery did not answer PeerCandidateRequest in time\r\n WARNING  12-12 08:37:06       EthstatsService  Timeout: PeerPool did not answer PeerCountRequest\r\n WARNING  12-12 08:37:06           ETHPeerPool  Discovery did not answer PeerCandidateRequest in time\r\n WARNING  12-12 08:37:09           ETHPeerPool  Discovery did not answer PeerCandidateRequest in time\r\n WARNING  12-12 08:37:11           ETHPeerPool  Discovery did not answer PeerCandidateRequest in time\r\n WARNING  12-12 08:37:11       EthstatsService  Timeout: PeerPool did not answer PeerCountRequest\r\n WARNING  12-12 08:37:14           ETHPeerPool  Discovery did not answer PeerCandidateRequest in time\r\n```\r\n\r\nThe interesting thing here is, I noticed this one before:\r\n\r\n>EthstatsService  Timeout: PeerPool did not answer PeerCountRequest\r\n\r\nAnd so far, I thought this may just be the `PeerPool` being to busy to answer the request by the `EthstatsService` timely.\r\n\r\nBut now after seeing this one, I feel like I need to look deeper into this.\r\n\r\n>ETHPeerPool  Discovery did not answer PeerCandidateRequest in time\r\n\r\nI also ran `trinity attach` to see if `w3.net.peerCount` would be responding and in fact it times out. The same happens with `w3.net.version` which isn't even served from the PeerPool (but it is still running on the same event loop / event bus endpoint)\r\n\r\nThis leads to the question what if there is some form of memory leak / bug in lahja where after some time, the event bus just stalls and cant process any further messages.\r\n\r\n### How can it be fixed\r\n\r\nThere are two things I plan to do:\r\n\r\n1. I will take the existing lahja benchmark and start it with parameters that will effectively cause a very long run over several hours to see if they stall at some point. This can give us an indicator if there's something wrong with lahja.\r\n\r\n**Update**: Started this now: `python scripts/perf_benchmark.py --num-processes 10 --num-events 36000 --throttle 0.5 &> benchmark2.log`\r\n\r\nThis should push broadcast one event every 0.5 seconds, to 10 connected processes, 36000 events in total. If my math is correct, this would run over the next 5 hours.\r\n\r\n2. I will write a tiny stupid plugin to just ping pong messages via the EventBus that I will run in the context of Trinity for several hours to see if that stalls as well. This can give us an indicator if there's something wrong with how the event bus is integrated in Trinity or it may also show us that there's no problem with the EventBus but with the PeerPool / Discovery instead.\r\n\r\n3. Looking through the logs to find anything suspicious around the time when it stops responding to requests."}, 'comment': {'url': 'https://api.github.com/repos/ethereum/py-evm/issues/comments/447267963', 'html_url': 'https://github.com/ethereum/py-evm/issues/1583#issuecomment-447267963', 'issue_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1583', 'id': 447267963, 'node_id': 'MDEyOklzc3VlQ29tbWVudDQ0NzI2Nzk2Mw==', 'user': {'login': 'cburgdorf', 'id': 521109, 'node_id': 'MDQ6VXNlcjUyMTEwOQ==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/521109?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'html_url': 'https://github.com/cburgdorf', 'followers_url': 'https://api.github.com/users/cburgdorf/followers', 'following_url': 'https://api.github.com/users/cburgdorf/following{/other_user}', 'gists_url': 'https://api.github.com/users/cburgdorf/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cburgdorf/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cburgdorf/subscriptions', 'organizations_url': 'https://api.github.com/users/cburgdorf/orgs', 'repos_url': 'https://api.github.com/users/cburgdorf/repos', 'events_url': 'https://api.github.com/users/cburgdorf/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cburgdorf/received_events', 'type': 'User', 'site_admin': False}, 'created_at': '2018-12-14T09:30:39Z', 'updated_at': '2018-12-14T09:30:39Z', 'author_association': 'CONTRIBUTOR', 'body': "I have done various long running tests but I wasn't able to reproduce any of the issues. My best bet right now is that there may be something in our `networking` process that can lead to a stalled event loop in general (which could explain the described symptoms) but there's no strong evidence that this would be caused by the `EventBus`. That doesn't mean it isn't, just that I couldn't find strong evidence for it.\r\n\r\nI will close this for now."}}, 'public': True, 'created_at': '2018-12-14T09:30:40Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753739327', 'type': 'WatchEvent', 'actor': {'id': 45157707, 'login': 'Dreampursers', 'display_login': 'Dreampursers', 'gravatar_id': '', 'url': 'https://api.github.com/users/Dreampursers', 'avatar_url': 'https://avatars.githubusercontent.com/u/45157707?'}, 'repo': {'id': 73461676, 'name': 'ethereum/vyper', 'url': 'https://api.github.com/repos/ethereum/vyper'}, 'payload': {'action': 'started'}, 'public': True, 'created_at': '2018-12-14T09:28:09Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753734627', 'type': 'PullRequestEvent', 'actor': {'id': 521109, 'login': 'cburgdorf', 'display_login': 'cburgdorf', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'avatar_url': 'https://avatars.githubusercontent.com/u/521109?'}, 'repo': {'id': 77478378, 'name': 'ethereum/py-evm', 'url': 'https://api.github.com/repos/ethereum/py-evm'}, 'payload': {'action': 'closed', 'number': 1584, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1584', 'id': 238000103, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM4MDAwMTAz', 'html_url': 'https://github.com/ethereum/py-evm/pull/1584', 'diff_url': 'https://github.com/ethereum/py-evm/pull/1584.diff', 'patch_url': 'https://github.com/ethereum/py-evm/pull/1584.patch', 'issue_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1584', 'number': 1584, 'state': 'closed', 'locked': False, 'title': 'Debug Plugin', 'user': {'login': 'cburgdorf', 'id': 521109, 'node_id': 'MDQ6VXNlcjUyMTEwOQ==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/521109?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'html_url': 'https://github.com/cburgdorf', 'followers_url': 'https://api.github.com/users/cburgdorf/followers', 'following_url': 'https://api.github.com/users/cburgdorf/following{/other_user}', 'gists_url': 'https://api.github.com/users/cburgdorf/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cburgdorf/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cburgdorf/subscriptions', 'organizations_url': 'https://api.github.com/users/cburgdorf/orgs', 'repos_url': 'https://api.github.com/users/cburgdorf/repos', 'events_url': 'https://api.github.com/users/cburgdorf/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cburgdorf/received_events', 'type': 'User', 'site_admin': False}, 'body': '### This is not meant to ever get merged\r\n\r\nThis is just an experiment that I want to put to work for some hours to figure out if we have a problem with the stability of the EventBus (see #1583 ', 'created_at': '2018-12-12T11:17:29Z', 'updated_at': '2018-12-14T09:27:18Z', 'closed_at': '2018-12-14T09:27:17Z', 'merged_at': None, 'merge_commit_sha': '9c9a46da881c6c3ae87017dd59eb90b33736c1ba', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1584/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1584/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1584/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/py-evm/statuses/c755d6e4c8c6e9941e777023d45ee9b5ab94c6f6', 'head': {'label': 'cburgdorf:christoph/debug/debug-lahja-stability', 'ref': 'christoph/debug/debug-lahja-stability', 'sha': 'c755d6e4c8c6e9941e777023d45ee9b5ab94c6f6', 'user': {'login': 'cburgdorf', 'id': 521109, 'node_id': 'MDQ6VXNlcjUyMTEwOQ==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/521109?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'html_url': 'https://github.com/cburgdorf', 'followers_url': 'https://api.github.com/users/cburgdorf/followers', 'following_url': 'https://api.github.com/users/cburgdorf/following{/other_user}', 'gists_url': 'https://api.github.com/users/cburgdorf/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cburgdorf/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cburgdorf/subscriptions', 'organizations_url': 'https://api.github.com/users/cburgdorf/orgs', 'repos_url': 'https://api.github.com/users/cburgdorf/repos', 'events_url': 'https://api.github.com/users/cburgdorf/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cburgdorf/received_events', 'type': 'User', 'site_admin': False}, 'repo': {'id': 122467896, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMjI0Njc4OTY=', 'name': 'py-evm', 'full_name': 'cburgdorf/py-evm', 'private': False, 'owner': {'login': 'cburgdorf', 'id': 521109, 'node_id': 'MDQ6VXNlcjUyMTEwOQ==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/521109?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'html_url': 'https://github.com/cburgdorf', 'followers_url': 'https://api.github.com/users/cburgdorf/followers', 'following_url': 'https://api.github.com/users/cburgdorf/following{/other_user}', 'gists_url': 'https://api.github.com/users/cburgdorf/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cburgdorf/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cburgdorf/subscriptions', 'organizations_url': 'https://api.github.com/users/cburgdorf/orgs', 'repos_url': 'https://api.github.com/users/cburgdorf/repos', 'events_url': 'https://api.github.com/users/cburgdorf/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cburgdorf/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/cburgdorf/py-evm', 'description': 'A Python implementation of the Ethereum Virtual Machine', 'fork': True, 'url': 'https://api.github.com/repos/cburgdorf/py-evm', 'forks_url': 'https://api.github.com/repos/cburgdorf/py-evm/forks', 'keys_url': 'https://api.github.com/repos/cburgdorf/py-evm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/cburgdorf/py-evm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/cburgdorf/py-evm/teams', 'hooks_url': 'https://api.github.com/repos/cburgdorf/py-evm/hooks', 'issue_events_url': 'https://api.github.com/repos/cburgdorf/py-evm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/cburgdorf/py-evm/events', 'assignees_url': 'https://api.github.com/repos/cburgdorf/py-evm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/cburgdorf/py-evm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/cburgdorf/py-evm/tags', 'blobs_url': 'https://api.github.com/repos/cburgdorf/py-evm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/cburgdorf/py-evm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/cburgdorf/py-evm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/cburgdorf/py-evm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/cburgdorf/py-evm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/cburgdorf/py-evm/languages', 'stargazers_url': 'https://api.github.com/repos/cburgdorf/py-evm/stargazers', 'contributors_url': 'https://api.github.com/repos/cburgdorf/py-evm/contributors', 'subscribers_url': 'https://api.github.com/repos/cburgdorf/py-evm/subscribers', 'subscription_url': 'https://api.github.com/repos/cburgdorf/py-evm/subscription', 'commits_url': 'https://api.github.com/repos/cburgdorf/py-evm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/cburgdorf/py-evm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/cburgdorf/py-evm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/cburgdorf/py-evm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/cburgdorf/py-evm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/cburgdorf/py-evm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/cburgdorf/py-evm/merges', 'archive_url': 'https://api.github.com/repos/cburgdorf/py-evm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/cburgdorf/py-evm/downloads', 'issues_url': 'https://api.github.com/repos/cburgdorf/py-evm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/cburgdorf/py-evm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/cburgdorf/py-evm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/cburgdorf/py-evm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/cburgdorf/py-evm/labels{/name}', 'releases_url': 'https://api.github.com/repos/cburgdorf/py-evm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/cburgdorf/py-evm/deployments', 'created_at': '2018-02-22T11:07:50Z', 'updated_at': '2018-03-28T15:01:32Z', 'pushed_at': '2018-12-13T12:28:00Z', 'git_url': 'git://github.com/cburgdorf/py-evm.git', 'ssh_url': '[email protected]:cburgdorf/py-evm.git', 'clone_url': 'https://github.com/cburgdorf/py-evm.git', 'svn_url': 'https://github.com/cburgdorf/py-evm', 'homepage': 'http://py-evm.readthedocs.io/en/latest/', 'size': 8252, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'Python', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'open_issues_count': 1, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'forks': 0, 'open_issues': 1, 'watchers': 0, 'default_branch': 'master'}}, 'base': {'label': 'ethereum:master', 'ref': 'master', 'sha': '5055f5be75c0a784158df4f35bd2990afddb49c9', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 77478378, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NzQ3ODM3OA==', 'name': 'py-evm', 'full_name': 'ethereum/py-evm', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/py-evm', 'description': 'A Python implementation of the Ethereum Virtual Machine', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/py-evm', 'forks_url': 'https://api.github.com/repos/ethereum/py-evm/forks', 'keys_url': 'https://api.github.com/repos/ethereum/py-evm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/py-evm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/py-evm/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/py-evm/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/py-evm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/py-evm/events', 'assignees_url': 'https://api.github.com/repos/ethereum/py-evm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/py-evm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/py-evm/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/py-evm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/py-evm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/py-evm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/py-evm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/py-evm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/py-evm/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/py-evm/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/py-evm/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/py-evm/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/py-evm/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/py-evm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/py-evm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/py-evm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/py-evm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/py-evm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/py-evm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/py-evm/merges', 'archive_url': 'https://api.github.com/repos/ethereum/py-evm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/py-evm/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/py-evm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/py-evm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/py-evm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/py-evm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/py-evm/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/py-evm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/py-evm/deployments', 'created_at': '2016-12-27T19:36:00Z', 'updated_at': '2018-12-14T08:56:37Z', 'pushed_at': '2018-12-14T09:20:00Z', 'git_url': 'git://github.com/ethereum/py-evm.git', 'ssh_url': '[email protected]:ethereum/py-evm.git', 'clone_url': 'https://github.com/ethereum/py-evm.git', 'svn_url': 'https://github.com/ethereum/py-evm', 'homepage': 'https://trinity.ethereum.org/', 'size': 6618, 'stargazers_count': 752, 'watchers_count': 752, 'language': 'Python', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 336, 'mirror_url': None, 'archived': False, 'open_issues_count': 165, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'forks': 336, 'open_issues': 165, 'watchers': 752, 'default_branch': 'master'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1584'}, 'html': {'href': 'https://github.com/ethereum/py-evm/pull/1584'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/py-evm/issues/1584'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/py-evm/issues/1584/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1584/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1584/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/py-evm/statuses/c755d6e4c8c6e9941e777023d45ee9b5ab94c6f6'}}, 'author_association': 'CONTRIBUTOR', 'merged': False, 'mergeable': True, 'rebaseable': False, 'mergeable_state': 'unstable', 'merged_by': None, 'comments': 3, 'review_comments': 0, 'maintainer_can_modify': False, 'commits': 1, 'additions': 142, 'deletions': 0, 'changed_files': 3}}, 'public': True, 'created_at': '2018-12-14T09:27:18Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753734593', 'type': 'IssueCommentEvent', 'actor': {'id': 521109, 'login': 'cburgdorf', 'display_login': 'cburgdorf', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'avatar_url': 'https://avatars.githubusercontent.com/u/521109?'}, 'repo': {'id': 77478378, 'name': 'ethereum/py-evm', 'url': 'https://api.github.com/repos/ethereum/py-evm'}, 'payload': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/ethereum/py-evm/issues/1584', 'repository_url': 'https://api.github.com/repos/ethereum/py-evm', 'labels_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1584/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1584/comments', 'events_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1584/events', 'html_url': 'https://github.com/ethereum/py-evm/pull/1584', 'id': 390179066, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM4MDAwMTAz', 'number': 1584, 'title': 'Debug Plugin', 'user': {'login': 'cburgdorf', 'id': 521109, 'node_id': 'MDQ6VXNlcjUyMTEwOQ==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/521109?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'html_url': 'https://github.com/cburgdorf', 'followers_url': 'https://api.github.com/users/cburgdorf/followers', 'following_url': 'https://api.github.com/users/cburgdorf/following{/other_user}', 'gists_url': 'https://api.github.com/users/cburgdorf/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cburgdorf/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cburgdorf/subscriptions', 'organizations_url': 'https://api.github.com/users/cburgdorf/orgs', 'repos_url': 'https://api.github.com/users/cburgdorf/repos', 'events_url': 'https://api.github.com/users/cburgdorf/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cburgdorf/received_events', 'type': 'User', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2018-12-12T11:17:29Z', 'updated_at': '2018-12-14T09:27:17Z', 'closed_at': '2018-12-14T09:27:17Z', 'author_association': 'CONTRIBUTOR', 'pull_request': {'url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1584', 'html_url': 'https://github.com/ethereum/py-evm/pull/1584', 'diff_url': 'https://github.com/ethereum/py-evm/pull/1584.diff', 'patch_url': 'https://github.com/ethereum/py-evm/pull/1584.patch'}, 'body': '### This is not meant to ever get merged\r\n\r\nThis is just an experiment that I want to put to work for some hours to figure out if we have a problem with the stability of the EventBus (see #1583 '}, 'comment': {'url': 'https://api.github.com/repos/ethereum/py-evm/issues/comments/447266996', 'html_url': 'https://github.com/ethereum/py-evm/pull/1584#issuecomment-447266996', 'issue_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1584', 'id': 447266996, 'node_id': 'MDEyOklzc3VlQ29tbWVudDQ0NzI2Njk5Ng==', 'user': {'login': 'cburgdorf', 'id': 521109, 'node_id': 'MDQ6VXNlcjUyMTEwOQ==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/521109?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cburgdorf', 'html_url': 'https://github.com/cburgdorf', 'followers_url': 'https://api.github.com/users/cburgdorf/followers', 'following_url': 'https://api.github.com/users/cburgdorf/following{/other_user}', 'gists_url': 'https://api.github.com/users/cburgdorf/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cburgdorf/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cburgdorf/subscriptions', 'organizations_url': 'https://api.github.com/users/cburgdorf/orgs', 'repos_url': 'https://api.github.com/users/cburgdorf/repos', 'events_url': 'https://api.github.com/users/cburgdorf/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cburgdorf/received_events', 'type': 'User', 'site_admin': False}, 'created_at': '2018-12-14T09:27:17Z', 'updated_at': '2018-12-14T09:27:17Z', 'author_association': 'CONTRIBUTOR', 'body': "I have done various long running tests but I wasn't able to reproduce any of the issues stated in #1583. "}}, 'public': True, 'created_at': '2018-12-14T09:27:18Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753689564', 'type': 'PullRequestReviewCommentEvent', 'actor': {'id': 111600, 'login': 'ligi', 'display_login': 'ligi', 'gravatar_id': '', 'url': 'https://api.github.com/users/ligi', 'avatar_url': 'https://avatars.githubusercontent.com/u/111600?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/comments/241687240', 'pull_request_review_id': 185021965, 'id': 241687240, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MTY4NzI0MA==', 'diff_hunk': '@@ -36,11 +36,14 @@ import (\n )\n \n const (\n-\tcontentType             = "application/json"\n \tmaxRequestContentLength = 1024 * 512\n )\n \n-var nullAddr, _ = net.ResolveTCPAddr("tcp", "127.0.0.1:0")\n+var (\n+\tacceptedContentTypes = []string{"application/json", "application/json-rpc"}', 'path': 'rpc/http.go', 'position': 10, 'original_position': 10, 'commit_id': '8b4d2608b511d46f4cede82d0a9b7c6793d48d3d', 'original_commit_id': '8b4d2608b511d46f4cede82d0a9b7c6793d48d3d', 'user': {'login': 'ligi', 'id': 111600, 'node_id': 'MDQ6VXNlcjExMTYwMA==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/111600?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ligi', 'html_url': 'https://github.com/ligi', 'followers_url': 'https://api.github.com/users/ligi/followers', 'following_url': 'https://api.github.com/users/ligi/following{/other_user}', 'gists_url': 'https://api.github.com/users/ligi/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ligi/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ligi/subscriptions', 'organizations_url': 'https://api.github.com/users/ligi/orgs', 'repos_url': 'https://api.github.com/users/ligi/repos', 'events_url': 'https://api.github.com/users/ligi/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ligi/received_events', 'type': 'User', 'site_admin': False}, 'body': '```suggestion\r\n\tacceptedContentTypes = []string{"application/json", "application/json-rpc", "application/jsonrequest"}\r\n```\r\n\r\nlet\'s directly add application/jsonrequest so we cover the full set given here: https://www.jsonrpc.org/historical/json-rpc-over-http.html#http-header', 'created_at': '2018-12-14T09:18:48Z', 'updated_at': '2018-12-14T09:18:48Z', 'html_url': 'https://github.com/ethereum/go-ethereum/pull/18310#discussion_r241687240', 'pull_request_url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18310', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/comments/241687240'}, 'html': {'href': 'https://github.com/ethereum/go-ethereum/pull/18310#discussion_r241687240'}, 'pull_request': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18310'}}}, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18310', 'id': 238652594, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM4NjUyNTk0', 'html_url': 'https://github.com/ethereum/go-ethereum/pull/18310', 'diff_url': 'https://github.com/ethereum/go-ethereum/pull/18310.diff', 'patch_url': 'https://github.com/ethereum/go-ethereum/pull/18310.patch', 'issue_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18310', 'number': 18310, 'state': 'open', 'locked': False, 'title': 'rpc: add application/json-rpc as accepted content type, fixes #18293', 'user': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'body': "This PR adds `application/json-rpc` as accepted content type for the server. \r\n\r\[email protected] Please try it out and see if it works for you (I haven't actually tested the code :) )", 'created_at': '2018-12-14T09:05:15Z', 'updated_at': '2018-12-14T09:18:48Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'e33ed2b0216ada4345f15254a29395f9ebbed2a6', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18310/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18310/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18310/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/go-ethereum/statuses/8b4d2608b511d46f4cede82d0a9b7c6793d48d3d', 'head': {'label': 'holiman:contenttypes', 'ref': 'contenttypes', 'sha': '8b4d2608b511d46f4cede82d0a9b7c6793d48d3d', 'user': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'repo': {'id': 75061513, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NTA2MTUxMw==', 'name': 'go-ethereum', 'full_name': 'holiman/go-ethereum', 'private': False, 'owner': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/holiman/go-ethereum', 'description': 'Official Go implementation of the Ethereum protocol', 'fork': True, 'url': 'https://api.github.com/repos/holiman/go-ethereum', 'forks_url': 'https://api.github.com/repos/holiman/go-ethereum/forks', 'keys_url': 'https://api.github.com/repos/holiman/go-ethereum/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/holiman/go-ethereum/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/holiman/go-ethereum/teams', 'hooks_url': 'https://api.github.com/repos/holiman/go-ethereum/hooks', 'issue_events_url': 'https://api.github.com/repos/holiman/go-ethereum/issues/events{/number}', 'events_url': 'https://api.github.com/repos/holiman/go-ethereum/events', 'assignees_url': 'https://api.github.com/repos/holiman/go-ethereum/assignees{/user}', 'branches_url': 'https://api.github.com/repos/holiman/go-ethereum/branches{/branch}', 'tags_url': 'https://api.github.com/repos/holiman/go-ethereum/tags', 'blobs_url': 'https://api.github.com/repos/holiman/go-ethereum/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/holiman/go-ethereum/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/holiman/go-ethereum/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/holiman/go-ethereum/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/holiman/go-ethereum/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/holiman/go-ethereum/languages', 'stargazers_url': 'https://api.github.com/repos/holiman/go-ethereum/stargazers', 'contributors_url': 'https://api.github.com/repos/holiman/go-ethereum/contributors', 'subscribers_url': 'https://api.github.com/repos/holiman/go-ethereum/subscribers', 'subscription_url': 'https://api.github.com/repos/holiman/go-ethereum/subscription', 'commits_url': 'https://api.github.com/repos/holiman/go-ethereum/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/holiman/go-ethereum/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/holiman/go-ethereum/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/holiman/go-ethereum/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/holiman/go-ethereum/contents/{+path}', 'compare_url': 'https://api.github.com/repos/holiman/go-ethereum/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/holiman/go-ethereum/merges', 'archive_url': 'https://api.github.com/repos/holiman/go-ethereum/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/holiman/go-ethereum/downloads', 'issues_url': 'https://api.github.com/repos/holiman/go-ethereum/issues{/number}', 'pulls_url': 'https://api.github.com/repos/holiman/go-ethereum/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/holiman/go-ethereum/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/holiman/go-ethereum/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/holiman/go-ethereum/labels{/name}', 'releases_url': 'https://api.github.com/repos/holiman/go-ethereum/releases{/id}', 'deployments_url': 'https://api.github.com/repos/holiman/go-ethereum/deployments', 'created_at': '2016-11-29T08:48:37Z', 'updated_at': '2018-11-25T19:02:22Z', 'pushed_at': '2018-12-14T09:03:59Z', 'git_url': 'git://github.com/holiman/go-ethereum.git', 'ssh_url': '[email protected]:holiman/go-ethereum.git', 'clone_url': 'https://github.com/holiman/go-ethereum.git', 'svn_url': 'https://github.com/holiman/go-ethereum', 'homepage': 'https://geth.ethereum.org', 'size': 137965, 'stargazers_count': 2, 'watchers_count': 2, 'language': 'Go', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'open_issues_count': 0, 'license': {'key': 'lgpl-3.0', 'name': 'GNU Lesser General Public License v3.0', 'spdx_id': 'LGPL-3.0', 'url': 'https://api.github.com/licenses/lgpl-3.0', 'node_id': 'MDc6TGljZW5zZTEy'}, 'forks': 0, 'open_issues': 0, 'watchers': 2, 'default_branch': 'master'}}, 'base': {'label': 'ethereum:master', 'ref': 'master', 'sha': 'e79821cabeda5c6907f03073d11fe6d83367f494', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 15452919, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNTQ1MjkxOQ==', 'name': 'go-ethereum', 'full_name': 'ethereum/go-ethereum', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/go-ethereum', 'description': 'Official Go implementation of the Ethereum protocol', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/go-ethereum', 'forks_url': 'https://api.github.com/repos/ethereum/go-ethereum/forks', 'keys_url': 'https://api.github.com/repos/ethereum/go-ethereum/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/go-ethereum/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/go-ethereum/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/go-ethereum/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/go-ethereum/events', 'assignees_url': 'https://api.github.com/repos/ethereum/go-ethereum/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/go-ethereum/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/go-ethereum/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/go-ethereum/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/go-ethereum/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/go-ethereum/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/go-ethereum/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/go-ethereum/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/go-ethereum/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/go-ethereum/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/go-ethereum/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/go-ethereum/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/go-ethereum/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/go-ethereum/merges', 'archive_url': 'https://api.github.com/repos/ethereum/go-ethereum/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/go-ethereum/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/go-ethereum/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/go-ethereum/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/go-ethereum/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/go-ethereum/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/go-ethereum/deployments', 'created_at': '2013-12-26T13:05:46Z', 'updated_at': '2018-12-14T08:16:46Z', 'pushed_at': '2018-12-14T09:05:16Z', 'git_url': 'git://github.com/ethereum/go-ethereum.git', 'ssh_url': '[email protected]:ethereum/go-ethereum.git', 'clone_url': 'https://github.com/ethereum/go-ethereum.git', 'svn_url': 'https://github.com/ethereum/go-ethereum', 'homepage': 'https://geth.ethereum.org', 'size': 107613, 'stargazers_count': 22059, 'watchers_count': 22059, 'language': 'Go', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': True, 'forks_count': 7712, 'mirror_url': None, 'archived': False, 'open_issues_count': 859, 'license': {'key': 'lgpl-3.0', 'name': 'GNU Lesser General Public License v3.0', 'spdx_id': 'LGPL-3.0', 'url': 'https://api.github.com/licenses/lgpl-3.0', 'node_id': 'MDc6TGljZW5zZTEy'}, 'forks': 7712, 'open_issues': 859, 'watchers': 22059, 'default_branch': 'master'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18310'}, 'html': {'href': 'https://github.com/ethereum/go-ethereum/pull/18310'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18310'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18310/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18310/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18310/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/statuses/8b4d2608b511d46f4cede82d0a9b7c6793d48d3d'}}, 'author_association': 'CONTRIBUTOR'}}, 'public': True, 'created_at': '2018-12-14T09:18:48Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753659310', 'type': 'PushEvent', 'actor': {'id': 9073706, 'login': 'chriseth', 'display_login': 'chriseth', 'gravatar_id': '', 'url': 'https://api.github.com/users/chriseth', 'avatar_url': 'https://avatars.githubusercontent.com/u/9073706?'}, 'repo': {'id': 85063629, 'name': 'ethereum/solidity-test-bytecode', 'url': 'https://api.github.com/repos/ethereum/solidity-test-bytecode'}, 'payload': {'push_id': 3137228247, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/master', 'head': '08ecb90922c87a21d22aad7396958e718e04d2a9', 'before': '151e73fb87a7721d1d3f9d25e40ece1c454991a0', 'commits': [{'sha': '08ecb90922c87a21d22aad7396958e718e04d2a9', 'author': {'email': '[email protected]', 'name': 'travis'}, 'message': 'Added report 2018-12-13-8d3617b7c522d74bcc36a1fbc1eb7c16bf96ad4d/emscripten.txt', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/solidity-test-bytecode/commits/08ecb90922c87a21d22aad7396958e718e04d2a9'}]}, 'public': True, 'created_at': '2018-12-14T09:12:52Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753648846', 'type': 'ForkEvent', 'actor': {'id': 39949991, 'login': 'Drunpi', 'display_login': 'Drunpi', 'gravatar_id': '', 'url': 'https://api.github.com/users/Drunpi', 'avatar_url': 'https://avatars.githubusercontent.com/u/39949991?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'forkee': {'id': 161759923, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjE3NTk5MjM=', 'name': 'go-ethereum', 'full_name': 'Drunpi/go-ethereum', 'private': False, 'owner': {'login': 'Drunpi', 'id': 39949991, 'node_id': 'MDQ6VXNlcjM5OTQ5OTkx', 'avatar_url': 'https://avatars3.githubusercontent.com/u/39949991?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Drunpi', 'html_url': 'https://github.com/Drunpi', 'followers_url': 'https://api.github.com/users/Drunpi/followers', 'following_url': 'https://api.github.com/users/Drunpi/following{/other_user}', 'gists_url': 'https://api.github.com/users/Drunpi/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Drunpi/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Drunpi/subscriptions', 'organizations_url': 'https://api.github.com/users/Drunpi/orgs', 'repos_url': 'https://api.github.com/users/Drunpi/repos', 'events_url': 'https://api.github.com/users/Drunpi/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Drunpi/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/Drunpi/go-ethereum', 'description': 'Official Go implementation of the Ethereum protocol', 'fork': True, 'url': 'https://api.github.com/repos/Drunpi/go-ethereum', 'forks_url': 'https://api.github.com/repos/Drunpi/go-ethereum/forks', 'keys_url': 'https://api.github.com/repos/Drunpi/go-ethereum/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/Drunpi/go-ethereum/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/Drunpi/go-ethereum/teams', 'hooks_url': 'https://api.github.com/repos/Drunpi/go-ethereum/hooks', 'issue_events_url': 'https://api.github.com/repos/Drunpi/go-ethereum/issues/events{/number}', 'events_url': 'https://api.github.com/repos/Drunpi/go-ethereum/events', 'assignees_url': 'https://api.github.com/repos/Drunpi/go-ethereum/assignees{/user}', 'branches_url': 'https://api.github.com/repos/Drunpi/go-ethereum/branches{/branch}', 'tags_url': 'https://api.github.com/repos/Drunpi/go-ethereum/tags', 'blobs_url': 'https://api.github.com/repos/Drunpi/go-ethereum/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/Drunpi/go-ethereum/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/Drunpi/go-ethereum/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/Drunpi/go-ethereum/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/Drunpi/go-ethereum/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/Drunpi/go-ethereum/languages', 'stargazers_url': 'https://api.github.com/repos/Drunpi/go-ethereum/stargazers', 'contributors_url': 'https://api.github.com/repos/Drunpi/go-ethereum/contributors', 'subscribers_url': 'https://api.github.com/repos/Drunpi/go-ethereum/subscribers', 'subscription_url': 'https://api.github.com/repos/Drunpi/go-ethereum/subscription', 'commits_url': 'https://api.github.com/repos/Drunpi/go-ethereum/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/Drunpi/go-ethereum/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/Drunpi/go-ethereum/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/Drunpi/go-ethereum/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/Drunpi/go-ethereum/contents/{+path}', 'compare_url': 'https://api.github.com/repos/Drunpi/go-ethereum/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/Drunpi/go-ethereum/merges', 'archive_url': 'https://api.github.com/repos/Drunpi/go-ethereum/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/Drunpi/go-ethereum/downloads', 'issues_url': 'https://api.github.com/repos/Drunpi/go-ethereum/issues{/number}', 'pulls_url': 'https://api.github.com/repos/Drunpi/go-ethereum/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/Drunpi/go-ethereum/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/Drunpi/go-ethereum/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/Drunpi/go-ethereum/labels{/name}', 'releases_url': 'https://api.github.com/repos/Drunpi/go-ethereum/releases{/id}', 'deployments_url': 'https://api.github.com/repos/Drunpi/go-ethereum/deployments', 'created_at': '2018-12-14T09:10:43Z', 'updated_at': '2018-12-14T08:16:46Z', 'pushed_at': '2018-12-14T09:05:16Z', 'git_url': 'git://github.com/Drunpi/go-ethereum.git', 'ssh_url': '[email protected]:Drunpi/go-ethereum.git', 'clone_url': 'https://github.com/Drunpi/go-ethereum.git', 'svn_url': 'https://github.com/Drunpi/go-ethereum', 'homepage': 'https://geth.ethereum.org', 'size': 107613, 'stargazers_count': 0, 'watchers_count': 0, 'language': None, 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'open_issues_count': 0, 'license': {'key': 'lgpl-3.0', 'name': 'GNU Lesser General Public License v3.0', 'spdx_id': 'LGPL-3.0', 'url': 'https://api.github.com/licenses/lgpl-3.0', 'node_id': 'MDc6TGljZW5zZTEy'}, 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'public': True}}, 'public': True, 'created_at': '2018-12-14T09:10:43Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753632721', 'type': 'WatchEvent', 'actor': {'id': 20773978, 'login': 'jinhokong', 'display_login': 'jinhokong', 'gravatar_id': '', 'url': 'https://api.github.com/users/jinhokong', 'avatar_url': 'https://avatars.githubusercontent.com/u/20773978?'}, 'repo': {'id': 24655114, 'name': 'ethereum/web3.js', 'url': 'https://api.github.com/repos/ethereum/web3.js'}, 'payload': {'action': 'started'}, 'public': True, 'created_at': '2018-12-14T09:07:32Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753621503', 'type': 'PullRequestEvent', 'actor': {'id': 142290, 'login': 'holiman', 'display_login': 'holiman', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'avatar_url': 'https://avatars.githubusercontent.com/u/142290?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'action': 'opened', 'number': 18310, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18310', 'id': 238652594, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM4NjUyNTk0', 'html_url': 'https://github.com/ethereum/go-ethereum/pull/18310', 'diff_url': 'https://github.com/ethereum/go-ethereum/pull/18310.diff', 'patch_url': 'https://github.com/ethereum/go-ethereum/pull/18310.patch', 'issue_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18310', 'number': 18310, 'state': 'open', 'locked': False, 'title': 'rpc: add application/json-rpc as accepted content type, fixes #18293', 'user': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'body': "This PR adds `application/json-rpc` as accepted content type for the server. \r\n\r\[email protected] Please try it out and see if it works for you (I haven't actually tested the code :) )", 'created_at': '2018-12-14T09:05:15Z', 'updated_at': '2018-12-14T09:05:15Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': None, 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18310/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18310/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18310/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/go-ethereum/statuses/8b4d2608b511d46f4cede82d0a9b7c6793d48d3d', 'head': {'label': 'holiman:contenttypes', 'ref': 'contenttypes', 'sha': '8b4d2608b511d46f4cede82d0a9b7c6793d48d3d', 'user': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'repo': {'id': 75061513, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NTA2MTUxMw==', 'name': 'go-ethereum', 'full_name': 'holiman/go-ethereum', 'private': False, 'owner': {'login': 'holiman', 'id': 142290, 'node_id': 'MDQ6VXNlcjE0MjI5MA==', 'avatar_url': 'https://avatars1.githubusercontent.com/u/142290?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/holiman', 'html_url': 'https://github.com/holiman', 'followers_url': 'https://api.github.com/users/holiman/followers', 'following_url': 'https://api.github.com/users/holiman/following{/other_user}', 'gists_url': 'https://api.github.com/users/holiman/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/holiman/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/holiman/subscriptions', 'organizations_url': 'https://api.github.com/users/holiman/orgs', 'repos_url': 'https://api.github.com/users/holiman/repos', 'events_url': 'https://api.github.com/users/holiman/events{/privacy}', 'received_events_url': 'https://api.github.com/users/holiman/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/holiman/go-ethereum', 'description': 'Official Go implementation of the Ethereum protocol', 'fork': True, 'url': 'https://api.github.com/repos/holiman/go-ethereum', 'forks_url': 'https://api.github.com/repos/holiman/go-ethereum/forks', 'keys_url': 'https://api.github.com/repos/holiman/go-ethereum/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/holiman/go-ethereum/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/holiman/go-ethereum/teams', 'hooks_url': 'https://api.github.com/repos/holiman/go-ethereum/hooks', 'issue_events_url': 'https://api.github.com/repos/holiman/go-ethereum/issues/events{/number}', 'events_url': 'https://api.github.com/repos/holiman/go-ethereum/events', 'assignees_url': 'https://api.github.com/repos/holiman/go-ethereum/assignees{/user}', 'branches_url': 'https://api.github.com/repos/holiman/go-ethereum/branches{/branch}', 'tags_url': 'https://api.github.com/repos/holiman/go-ethereum/tags', 'blobs_url': 'https://api.github.com/repos/holiman/go-ethereum/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/holiman/go-ethereum/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/holiman/go-ethereum/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/holiman/go-ethereum/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/holiman/go-ethereum/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/holiman/go-ethereum/languages', 'stargazers_url': 'https://api.github.com/repos/holiman/go-ethereum/stargazers', 'contributors_url': 'https://api.github.com/repos/holiman/go-ethereum/contributors', 'subscribers_url': 'https://api.github.com/repos/holiman/go-ethereum/subscribers', 'subscription_url': 'https://api.github.com/repos/holiman/go-ethereum/subscription', 'commits_url': 'https://api.github.com/repos/holiman/go-ethereum/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/holiman/go-ethereum/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/holiman/go-ethereum/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/holiman/go-ethereum/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/holiman/go-ethereum/contents/{+path}', 'compare_url': 'https://api.github.com/repos/holiman/go-ethereum/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/holiman/go-ethereum/merges', 'archive_url': 'https://api.github.com/repos/holiman/go-ethereum/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/holiman/go-ethereum/downloads', 'issues_url': 'https://api.github.com/repos/holiman/go-ethereum/issues{/number}', 'pulls_url': 'https://api.github.com/repos/holiman/go-ethereum/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/holiman/go-ethereum/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/holiman/go-ethereum/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/holiman/go-ethereum/labels{/name}', 'releases_url': 'https://api.github.com/repos/holiman/go-ethereum/releases{/id}', 'deployments_url': 'https://api.github.com/repos/holiman/go-ethereum/deployments', 'created_at': '2016-11-29T08:48:37Z', 'updated_at': '2018-11-25T19:02:22Z', 'pushed_at': '2018-12-14T09:03:59Z', 'git_url': 'git://github.com/holiman/go-ethereum.git', 'ssh_url': '[email protected]:holiman/go-ethereum.git', 'clone_url': 'https://github.com/holiman/go-ethereum.git', 'svn_url': 'https://github.com/holiman/go-ethereum', 'homepage': 'https://geth.ethereum.org', 'size': 137965, 'stargazers_count': 2, 'watchers_count': 2, 'language': 'Go', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'open_issues_count': 0, 'license': {'key': 'lgpl-3.0', 'name': 'GNU Lesser General Public License v3.0', 'spdx_id': 'LGPL-3.0', 'url': 'https://api.github.com/licenses/lgpl-3.0', 'node_id': 'MDc6TGljZW5zZTEy'}, 'forks': 0, 'open_issues': 0, 'watchers': 2, 'default_branch': 'master'}}, 'base': {'label': 'ethereum:master', 'ref': 'master', 'sha': 'e79821cabeda5c6907f03073d11fe6d83367f494', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 15452919, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNTQ1MjkxOQ==', 'name': 'go-ethereum', 'full_name': 'ethereum/go-ethereum', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/go-ethereum', 'description': 'Official Go implementation of the Ethereum protocol', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/go-ethereum', 'forks_url': 'https://api.github.com/repos/ethereum/go-ethereum/forks', 'keys_url': 'https://api.github.com/repos/ethereum/go-ethereum/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/go-ethereum/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/go-ethereum/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/go-ethereum/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/go-ethereum/events', 'assignees_url': 'https://api.github.com/repos/ethereum/go-ethereum/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/go-ethereum/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/go-ethereum/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/go-ethereum/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/go-ethereum/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/go-ethereum/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/go-ethereum/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/go-ethereum/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/go-ethereum/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/go-ethereum/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/go-ethereum/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/go-ethereum/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/go-ethereum/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/go-ethereum/merges', 'archive_url': 'https://api.github.com/repos/ethereum/go-ethereum/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/go-ethereum/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/go-ethereum/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/go-ethereum/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/go-ethereum/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/go-ethereum/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/go-ethereum/deployments', 'created_at': '2013-12-26T13:05:46Z', 'updated_at': '2018-12-14T08:16:46Z', 'pushed_at': '2018-12-14T08:13:39Z', 'git_url': 'git://github.com/ethereum/go-ethereum.git', 'ssh_url': '[email protected]:ethereum/go-ethereum.git', 'clone_url': 'https://github.com/ethereum/go-ethereum.git', 'svn_url': 'https://github.com/ethereum/go-ethereum', 'homepage': 'https://geth.ethereum.org', 'size': 107613, 'stargazers_count': 22059, 'watchers_count': 22059, 'language': 'Go', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': True, 'forks_count': 7711, 'mirror_url': None, 'archived': False, 'open_issues_count': 859, 'license': {'key': 'lgpl-3.0', 'name': 'GNU Lesser General Public License v3.0', 'spdx_id': 'LGPL-3.0', 'url': 'https://api.github.com/licenses/lgpl-3.0', 'node_id': 'MDc6TGljZW5zZTEy'}, 'forks': 7711, 'open_issues': 859, 'watchers': 22059, 'default_branch': 'master'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18310'}, 'html': {'href': 'https://github.com/ethereum/go-ethereum/pull/18310'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18310'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18310/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18310/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18310/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/statuses/8b4d2608b511d46f4cede82d0a9b7c6793d48d3d'}}, 'author_association': 'CONTRIBUTOR', 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 1, 'additions': 19, 'deletions': 7, 'changed_files': 1}}, 'public': True, 'created_at': '2018-12-14T09:05:16Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753608354', 'type': 'ForkEvent', 'actor': {'id': 9623159, 'login': 'aj07', 'display_login': 'aj07', 'gravatar_id': '', 'url': 'https://api.github.com/users/aj07', 'avatar_url': 'https://avatars.githubusercontent.com/u/9623159?'}, 'repo': {'id': 24655114, 'name': 'ethereum/web3.js', 'url': 'https://api.github.com/repos/ethereum/web3.js'}, 'payload': {'forkee': {'id': 161758859, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjE3NTg4NTk=', 'name': 'web3.js', 'full_name': 'aj07/web3.js', 'private': False, 'owner': {'login': 'aj07', 'id': 9623159, 'node_id': 'MDQ6VXNlcjk2MjMxNTk=', 'avatar_url': 'https://avatars2.githubusercontent.com/u/9623159?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/aj07', 'html_url': 'https://github.com/aj07', 'followers_url': 'https://api.github.com/users/aj07/followers', 'following_url': 'https://api.github.com/users/aj07/following{/other_user}', 'gists_url': 'https://api.github.com/users/aj07/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/aj07/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/aj07/subscriptions', 'organizations_url': 'https://api.github.com/users/aj07/orgs', 'repos_url': 'https://api.github.com/users/aj07/repos', 'events_url': 'https://api.github.com/users/aj07/events{/privacy}', 'received_events_url': 'https://api.github.com/users/aj07/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/aj07/web3.js', 'description': 'Ethereum JavaScript API', 'fork': True, 'url': 'https://api.github.com/repos/aj07/web3.js', 'forks_url': 'https://api.github.com/repos/aj07/web3.js/forks', 'keys_url': 'https://api.github.com/repos/aj07/web3.js/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/aj07/web3.js/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/aj07/web3.js/teams', 'hooks_url': 'https://api.github.com/repos/aj07/web3.js/hooks', 'issue_events_url': 'https://api.github.com/repos/aj07/web3.js/issues/events{/number}', 'events_url': 'https://api.github.com/repos/aj07/web3.js/events', 'assignees_url': 'https://api.github.com/repos/aj07/web3.js/assignees{/user}', 'branches_url': 'https://api.github.com/repos/aj07/web3.js/branches{/branch}', 'tags_url': 'https://api.github.com/repos/aj07/web3.js/tags', 'blobs_url': 'https://api.github.com/repos/aj07/web3.js/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/aj07/web3.js/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/aj07/web3.js/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/aj07/web3.js/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/aj07/web3.js/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/aj07/web3.js/languages', 'stargazers_url': 'https://api.github.com/repos/aj07/web3.js/stargazers', 'contributors_url': 'https://api.github.com/repos/aj07/web3.js/contributors', 'subscribers_url': 'https://api.github.com/repos/aj07/web3.js/subscribers', 'subscription_url': 'https://api.github.com/repos/aj07/web3.js/subscription', 'commits_url': 'https://api.github.com/repos/aj07/web3.js/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/aj07/web3.js/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/aj07/web3.js/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/aj07/web3.js/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/aj07/web3.js/contents/{+path}', 'compare_url': 'https://api.github.com/repos/aj07/web3.js/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/aj07/web3.js/merges', 'archive_url': 'https://api.github.com/repos/aj07/web3.js/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/aj07/web3.js/downloads', 'issues_url': 'https://api.github.com/repos/aj07/web3.js/issues{/number}', 'pulls_url': 'https://api.github.com/repos/aj07/web3.js/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/aj07/web3.js/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/aj07/web3.js/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/aj07/web3.js/labels{/name}', 'releases_url': 'https://api.github.com/repos/aj07/web3.js/releases{/id}', 'deployments_url': 'https://api.github.com/repos/aj07/web3.js/deployments', 'created_at': '2018-12-14T09:02:35Z', 'updated_at': '2018-12-14T07:49:34Z', 'pushed_at': '2018-12-13T22:48:47Z', 'git_url': 'git://github.com/aj07/web3.js.git', 'ssh_url': '[email protected]:aj07/web3.js.git', 'clone_url': 'https://github.com/aj07/web3.js.git', 'svn_url': 'https://github.com/aj07/web3.js', 'homepage': '', 'size': 36484, 'stargazers_count': 0, 'watchers_count': 0, 'language': None, 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'open_issues_count': 0, 'license': None, 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'public': True}}, 'public': True, 'created_at': '2018-12-14T09:02:35Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753598685', 'type': 'PullRequestEvent', 'actor': {'id': 9753150, 'login': 'njgheorghita', 'display_login': 'njgheorghita', 'gravatar_id': '', 'url': 'https://api.github.com/users/njgheorghita', 'avatar_url': 'https://avatars.githubusercontent.com/u/9753150?'}, 'repo': {'id': 56251096, 'name': 'ethereum/web3.py', 'url': 'https://api.github.com/repos/ethereum/web3.py'}, 'payload': {'action': 'opened', 'number': 1163, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/web3.py/pulls/1163', 'id': 238651451, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM4NjUxNDUx', 'html_url': 'https://github.com/ethereum/web3.py/pull/1163', 'diff_url': 'https://github.com/ethereum/web3.py/pull/1163.diff', 'patch_url': 'https://github.com/ethereum/web3.py/pull/1163.patch', 'issue_url': 'https://api.github.com/repos/ethereum/web3.py/issues/1163', 'number': 1163, 'state': 'open', 'locked': False, 'title': 'WIP Remove 3.5 support and update eth-abiV2', 'user': {'login': 'njgheorghita', 'id': 9753150, 'node_id': 'MDQ6VXNlcjk3NTMxNTA=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/9753150?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/njgheorghita', 'html_url': 'https://github.com/njgheorghita', 'followers_url': 'https://api.github.com/users/njgheorghita/followers', 'following_url': 'https://api.github.com/users/njgheorghita/following{/other_user}', 'gists_url': 'https://api.github.com/users/njgheorghita/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/njgheorghita/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/njgheorghita/subscriptions', 'organizations_url': 'https://api.github.com/users/njgheorghita/orgs', 'repos_url': 'https://api.github.com/users/njgheorghita/repos', 'events_url': 'https://api.github.com/users/njgheorghita/events{/privacy}', 'received_events_url': 'https://api.github.com/users/njgheorghita/received_events', 'type': 'User', 'site_admin': False}, 'body': '### What was wrong?\r\n\r\nWIP\r\n\r\nRelated to Issue #\r\n\r\n### How was it fixed?\r\n\r\n\r\n\r\n#### Cute Animal Picture\r\n\r\n![Put a link to a cute animal picture inside the parenthesis-->]()\r\n', 'created_at': '2018-12-14T09:00:38Z', 'updated_at': '2018-12-14T09:00:38Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': None, 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/web3.py/pulls/1163/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/web3.py/pulls/1163/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/web3.py/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/web3.py/issues/1163/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/web3.py/statuses/4344c565cee977b0ce61b19195b22adb84da53f1', 'head': {'label': 'njgheorghita:v5-update', 'ref': 'v5-update', 'sha': '4344c565cee977b0ce61b19195b22adb84da53f1', 'user': {'login': 'njgheorghita', 'id': 9753150, 'node_id': 'MDQ6VXNlcjk3NTMxNTA=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/9753150?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/njgheorghita', 'html_url': 'https://github.com/njgheorghita', 'followers_url': 'https://api.github.com/users/njgheorghita/followers', 'following_url': 'https://api.github.com/users/njgheorghita/following{/other_user}', 'gists_url': 'https://api.github.com/users/njgheorghita/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/njgheorghita/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/njgheorghita/subscriptions', 'organizations_url': 'https://api.github.com/users/njgheorghita/orgs', 'repos_url': 'https://api.github.com/users/njgheorghita/repos', 'events_url': 'https://api.github.com/users/njgheorghita/events{/privacy}', 'received_events_url': 'https://api.github.com/users/njgheorghita/received_events', 'type': 'User', 'site_admin': False}, 'repo': {'id': 89746051, 'node_id': 'MDEwOlJlcG9zaXRvcnk4OTc0NjA1MQ==', 'name': 'web3.py', 'full_name': 'njgheorghita/web3.py', 'private': False, 'owner': {'login': 'njgheorghita', 'id': 9753150, 'node_id': 'MDQ6VXNlcjk3NTMxNTA=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/9753150?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/njgheorghita', 'html_url': 'https://github.com/njgheorghita', 'followers_url': 'https://api.github.com/users/njgheorghita/followers', 'following_url': 'https://api.github.com/users/njgheorghita/following{/other_user}', 'gists_url': 'https://api.github.com/users/njgheorghita/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/njgheorghita/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/njgheorghita/subscriptions', 'organizations_url': 'https://api.github.com/users/njgheorghita/orgs', 'repos_url': 'https://api.github.com/users/njgheorghita/repos', 'events_url': 'https://api.github.com/users/njgheorghita/events{/privacy}', 'received_events_url': 'https://api.github.com/users/njgheorghita/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/njgheorghita/web3.py', 'description': 'A python interface for interacting with the Ethereum blockchain and ecosystem.', 'fork': True, 'url': 'https://api.github.com/repos/njgheorghita/web3.py', 'forks_url': 'https://api.github.com/repos/njgheorghita/web3.py/forks', 'keys_url': 'https://api.github.com/repos/njgheorghita/web3.py/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/njgheorghita/web3.py/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/njgheorghita/web3.py/teams', 'hooks_url': 'https://api.github.com/repos/njgheorghita/web3.py/hooks', 'issue_events_url': 'https://api.github.com/repos/njgheorghita/web3.py/issues/events{/number}', 'events_url': 'https://api.github.com/repos/njgheorghita/web3.py/events', 'assignees_url': 'https://api.github.com/repos/njgheorghita/web3.py/assignees{/user}', 'branches_url': 'https://api.github.com/repos/njgheorghita/web3.py/branches{/branch}', 'tags_url': 'https://api.github.com/repos/njgheorghita/web3.py/tags', 'blobs_url': 'https://api.github.com/repos/njgheorghita/web3.py/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/njgheorghita/web3.py/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/njgheorghita/web3.py/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/njgheorghita/web3.py/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/njgheorghita/web3.py/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/njgheorghita/web3.py/languages', 'stargazers_url': 'https://api.github.com/repos/njgheorghita/web3.py/stargazers', 'contributors_url': 'https://api.github.com/repos/njgheorghita/web3.py/contributors', 'subscribers_url': 'https://api.github.com/repos/njgheorghita/web3.py/subscribers', 'subscription_url': 'https://api.github.com/repos/njgheorghita/web3.py/subscription', 'commits_url': 'https://api.github.com/repos/njgheorghita/web3.py/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/njgheorghita/web3.py/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/njgheorghita/web3.py/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/njgheorghita/web3.py/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/njgheorghita/web3.py/contents/{+path}', 'compare_url': 'https://api.github.com/repos/njgheorghita/web3.py/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/njgheorghita/web3.py/merges', 'archive_url': 'https://api.github.com/repos/njgheorghita/web3.py/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/njgheorghita/web3.py/downloads', 'issues_url': 'https://api.github.com/repos/njgheorghita/web3.py/issues{/number}', 'pulls_url': 'https://api.github.com/repos/njgheorghita/web3.py/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/njgheorghita/web3.py/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/njgheorghita/web3.py/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/njgheorghita/web3.py/labels{/name}', 'releases_url': 'https://api.github.com/repos/njgheorghita/web3.py/releases{/id}', 'deployments_url': 'https://api.github.com/repos/njgheorghita/web3.py/deployments', 'created_at': '2017-04-28T21:27:28Z', 'updated_at': '2018-12-14T08:50:09Z', 'pushed_at': '2018-12-14T08:59:51Z', 'git_url': 'git://github.com/njgheorghita/web3.py.git', 'ssh_url': '[email protected]:njgheorghita/web3.py.git', 'clone_url': 'https://github.com/njgheorghita/web3.py.git', 'svn_url': 'https://github.com/njgheorghita/web3.py', 'homepage': 'http://web3py.readthedocs.io', 'size': 2985, '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': None, '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': 'ethereum:master', 'ref': 'master', 'sha': '911e2a4842b8b5cda51cc312df55a329881b6dc7', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 56251096, 'node_id': 'MDEwOlJlcG9zaXRvcnk1NjI1MTA5Ng==', 'name': 'web3.py', 'full_name': 'ethereum/web3.py', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/web3.py', 'description': 'A python interface for interacting with the Ethereum blockchain and ecosystem.', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/web3.py', 'forks_url': 'https://api.github.com/repos/ethereum/web3.py/forks', 'keys_url': 'https://api.github.com/repos/ethereum/web3.py/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/web3.py/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/web3.py/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/web3.py/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/web3.py/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/web3.py/events', 'assignees_url': 'https://api.github.com/repos/ethereum/web3.py/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/web3.py/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/web3.py/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/web3.py/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/web3.py/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/web3.py/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/web3.py/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/web3.py/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/web3.py/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/web3.py/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/web3.py/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/web3.py/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/web3.py/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/web3.py/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/web3.py/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/web3.py/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/web3.py/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/web3.py/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/web3.py/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/web3.py/merges', 'archive_url': 'https://api.github.com/repos/ethereum/web3.py/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/web3.py/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/web3.py/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/web3.py/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/web3.py/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/web3.py/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/web3.py/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/web3.py/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/web3.py/deployments', 'created_at': '2016-04-14T15:59:35Z', 'updated_at': '2018-12-14T05:20:57Z', 'pushed_at': '2018-12-14T08:53:26Z', 'git_url': 'git://github.com/ethereum/web3.py.git', 'ssh_url': '[email protected]:ethereum/web3.py.git', 'clone_url': 'https://github.com/ethereum/web3.py.git', 'svn_url': 'https://github.com/ethereum/web3.py', 'homepage': 'http://web3py.readthedocs.io', 'size': 3088, 'stargazers_count': 1218, 'watchers_count': 1218, 'language': 'Python', 'has_issues': True, 'has_projects': False, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 433, 'mirror_url': None, 'archived': False, 'open_issues_count': 109, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'forks': 433, 'open_issues': 109, 'watchers': 1218, 'default_branch': 'master'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/web3.py/pulls/1163'}, 'html': {'href': 'https://github.com/ethereum/web3.py/pull/1163'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/web3.py/issues/1163'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/web3.py/issues/1163/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/web3.py/pulls/1163/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/web3.py/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/web3.py/pulls/1163/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/web3.py/statuses/4344c565cee977b0ce61b19195b22adb84da53f1'}}, 'author_association': 'CONTRIBUTOR', 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 1, 'additions': 8, 'deletions': 9, 'changed_files': 3}}, 'public': True, 'created_at': '2018-12-14T09:00:38Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753578638', 'type': 'PushEvent', 'actor': {'id': 9263930, 'login': 'hwwhww', 'display_login': 'hwwhww', 'gravatar_id': '', 'url': 'https://api.github.com/users/hwwhww', 'avatar_url': 'https://avatars.githubusercontent.com/u/9263930?'}, 'repo': {'id': 77478378, 'name': 'ethereum/py-evm', 'url': 'https://api.github.com/repos/ethereum/py-evm'}, 'payload': {'push_id': 3137185723, 'size': 4, 'distinct_size': 4, 'ref': 'refs/heads/master', 'head': 'dae7910b84c6c5f3d5ab0594ddb550f92a4fb072', 'before': '751c856953060d68ae7be2c62306d11935e32345', 'commits': [{'sha': '6fa7b83832c7c40221b756814d372b828cdb96ea', 'author': {'email': '[email protected]', 'name': 'Hsiao-Wei Wang'}, 'message': 'Add `get_fork_version` and `get_domain`', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/py-evm/commits/6fa7b83832c7c40221b756814d372b828cdb96ea'}, {'sha': 'dfdde18bb7953a787e479a188d429f3a42ae00b6', 'author': {'email': '[email protected]', 'name': 'Hsiao-Wei Wang'}, 'message': 'Put eth/beacon/enums/ objects in one file', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/py-evm/commits/dfdde18bb7953a787e479a188d429f3a42ae00b6'}, {'sha': '8bfef33798e69f214473c941d1263cb4075ea7a2', 'author': {'email': '[email protected]', 'name': 'Chih Cheng Liang'}, 'message': 'Apply suggestions from code review: update enums\n\nCo-Authored-By: hwwhww <[email protected]>', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/py-evm/commits/8bfef33798e69f214473c941d1263cb4075ea7a2'}, {'sha': 'dae7910b84c6c5f3d5ab0594ddb550f92a4fb072', 'author': {'email': '[email protected]', 'name': 'Hsiao-Wei Wang'}, 'message': 'Merge pull request #1591 from hwwhww/get_fork\n\nAdd `get_fork_version` and `get_domain` helpers', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/py-evm/commits/dae7910b84c6c5f3d5ab0594ddb550f92a4fb072'}]}, 'public': True, 'created_at': '2018-12-14T08:56:35Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753578392', 'type': 'PullRequestEvent', 'actor': {'id': 9263930, 'login': 'hwwhww', 'display_login': 'hwwhww', 'gravatar_id': '', 'url': 'https://api.github.com/users/hwwhww', 'avatar_url': 'https://avatars.githubusercontent.com/u/9263930?'}, 'repo': {'id': 77478378, 'name': 'ethereum/py-evm', 'url': 'https://api.github.com/repos/ethereum/py-evm'}, 'payload': {'action': 'closed', 'number': 1591, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591', 'id': 238301357, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM4MzAxMzU3', 'html_url': 'https://github.com/ethereum/py-evm/pull/1591', 'diff_url': 'https://github.com/ethereum/py-evm/pull/1591.diff', 'patch_url': 'https://github.com/ethereum/py-evm/pull/1591.patch', 'issue_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1591', 'number': 1591, 'state': 'closed', 'locked': False, 'title': 'Add `get_fork_version` and `get_domain` helpers', 'user': {'login': 'hwwhww', 'id': 9263930, 'node_id': 'MDQ6VXNlcjkyNjM5MzA=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/9263930?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/hwwhww', 'html_url': 'https://github.com/hwwhww', 'followers_url': 'https://api.github.com/users/hwwhww/followers', 'following_url': 'https://api.github.com/users/hwwhww/following{/other_user}', 'gists_url': 'https://api.github.com/users/hwwhww/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/hwwhww/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/hwwhww/subscriptions', 'organizations_url': 'https://api.github.com/users/hwwhww/orgs', 'repos_url': 'https://api.github.com/users/hwwhww/repos', 'events_url': 'https://api.github.com/users/hwwhww/events{/privacy}', 'received_events_url': 'https://api.github.com/users/hwwhww/received_events', 'type': 'User', 'site_admin': False}, 'body': '### What was wrong?\r\n#1510 part 3\r\n\r\n### How was it fixed?\r\n1. Add `get_fork_version` and `get_domain` and tests. Spec: https://github.com/ethereum/eth2.0-specs/blob/master/specs/core/0_beacon-chain.md#get_fork_version\r\n2. Put `ValidatorStatusCode`, `ValidatorRegistryDeltaFlag`, and `SignatureDomain` in `eth/beacon/enums.py`.\r\n\r\n#### Cute Animal Picture\r\n\r\n![fox-in-snow](https://user-images.githubusercontent.com/9263930/49925283-63392e80-fef3-11e8-901c-d32613eeb227.jpg)\r\n\r\n', 'created_at': '2018-12-13T08:24:05Z', 'updated_at': '2018-12-14T08:56:31Z', 'closed_at': '2018-12-14T08:56:31Z', 'merged_at': '2018-12-14T08:56:31Z', 'merge_commit_sha': 'dae7910b84c6c5f3d5ab0594ddb550f92a4fb072', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1591/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/py-evm/statuses/8bfef33798e69f214473c941d1263cb4075ea7a2', 'head': {'label': 'hwwhww:get_fork', 'ref': 'get_fork', 'sha': '8bfef33798e69f214473c941d1263cb4075ea7a2', 'user': {'login': 'hwwhww', 'id': 9263930, 'node_id': 'MDQ6VXNlcjkyNjM5MzA=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/9263930?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/hwwhww', 'html_url': 'https://github.com/hwwhww', 'followers_url': 'https://api.github.com/users/hwwhww/followers', 'following_url': 'https://api.github.com/users/hwwhww/following{/other_user}', 'gists_url': 'https://api.github.com/users/hwwhww/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/hwwhww/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/hwwhww/subscriptions', 'organizations_url': 'https://api.github.com/users/hwwhww/orgs', 'repos_url': 'https://api.github.com/users/hwwhww/repos', 'events_url': 'https://api.github.com/users/hwwhww/events{/privacy}', 'received_events_url': 'https://api.github.com/users/hwwhww/received_events', 'type': 'User', 'site_admin': False}, 'repo': {'id': 112237812, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTIyMzc4MTI=', 'name': 'py-evm', 'full_name': 'hwwhww/py-evm', 'private': False, 'owner': {'login': 'hwwhww', 'id': 9263930, 'node_id': 'MDQ6VXNlcjkyNjM5MzA=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/9263930?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/hwwhww', 'html_url': 'https://github.com/hwwhww', 'followers_url': 'https://api.github.com/users/hwwhww/followers', 'following_url': 'https://api.github.com/users/hwwhww/following{/other_user}', 'gists_url': 'https://api.github.com/users/hwwhww/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/hwwhww/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/hwwhww/subscriptions', 'organizations_url': 'https://api.github.com/users/hwwhww/orgs', 'repos_url': 'https://api.github.com/users/hwwhww/repos', 'events_url': 'https://api.github.com/users/hwwhww/events{/privacy}', 'received_events_url': 'https://api.github.com/users/hwwhww/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/hwwhww/py-evm', 'description': 'A Python implementation of the Ethereum Virtual Machine', 'fork': True, 'url': 'https://api.github.com/repos/hwwhww/py-evm', 'forks_url': 'https://api.github.com/repos/hwwhww/py-evm/forks', 'keys_url': 'https://api.github.com/repos/hwwhww/py-evm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/hwwhww/py-evm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/hwwhww/py-evm/teams', 'hooks_url': 'https://api.github.com/repos/hwwhww/py-evm/hooks', 'issue_events_url': 'https://api.github.com/repos/hwwhww/py-evm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/hwwhww/py-evm/events', 'assignees_url': 'https://api.github.com/repos/hwwhww/py-evm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/hwwhww/py-evm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/hwwhww/py-evm/tags', 'blobs_url': 'https://api.github.com/repos/hwwhww/py-evm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/hwwhww/py-evm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/hwwhww/py-evm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/hwwhww/py-evm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/hwwhww/py-evm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/hwwhww/py-evm/languages', 'stargazers_url': 'https://api.github.com/repos/hwwhww/py-evm/stargazers', 'contributors_url': 'https://api.github.com/repos/hwwhww/py-evm/contributors', 'subscribers_url': 'https://api.github.com/repos/hwwhww/py-evm/subscribers', 'subscription_url': 'https://api.github.com/repos/hwwhww/py-evm/subscription', 'commits_url': 'https://api.github.com/repos/hwwhww/py-evm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/hwwhww/py-evm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/hwwhww/py-evm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/hwwhww/py-evm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/hwwhww/py-evm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/hwwhww/py-evm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/hwwhww/py-evm/merges', 'archive_url': 'https://api.github.com/repos/hwwhww/py-evm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/hwwhww/py-evm/downloads', 'issues_url': 'https://api.github.com/repos/hwwhww/py-evm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/hwwhww/py-evm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/hwwhww/py-evm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/hwwhww/py-evm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/hwwhww/py-evm/labels{/name}', 'releases_url': 'https://api.github.com/repos/hwwhww/py-evm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/hwwhww/py-evm/deployments', 'created_at': '2017-11-27T19:17:15Z', 'updated_at': '2018-09-28T16:22:02Z', 'pushed_at': '2018-12-14T08:44:44Z', 'git_url': 'git://github.com/hwwhww/py-evm.git', 'ssh_url': '[email protected]:hwwhww/py-evm.git', 'clone_url': 'https://github.com/hwwhww/py-evm.git', 'svn_url': 'https://github.com/hwwhww/py-evm', 'homepage': '', 'size': 8338, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'Python', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, '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': 'ethereum:master', 'ref': 'master', 'sha': '751c856953060d68ae7be2c62306d11935e32345', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 77478378, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NzQ3ODM3OA==', 'name': 'py-evm', 'full_name': 'ethereum/py-evm', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/py-evm', 'description': 'A Python implementation of the Ethereum Virtual Machine', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/py-evm', 'forks_url': 'https://api.github.com/repos/ethereum/py-evm/forks', 'keys_url': 'https://api.github.com/repos/ethereum/py-evm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/py-evm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/py-evm/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/py-evm/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/py-evm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/py-evm/events', 'assignees_url': 'https://api.github.com/repos/ethereum/py-evm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/py-evm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/py-evm/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/py-evm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/py-evm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/py-evm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/py-evm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/py-evm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/py-evm/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/py-evm/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/py-evm/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/py-evm/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/py-evm/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/py-evm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/py-evm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/py-evm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/py-evm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/py-evm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/py-evm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/py-evm/merges', 'archive_url': 'https://api.github.com/repos/ethereum/py-evm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/py-evm/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/py-evm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/py-evm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/py-evm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/py-evm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/py-evm/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/py-evm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/py-evm/deployments', 'created_at': '2016-12-27T19:36:00Z', 'updated_at': '2018-12-14T06:44:59Z', 'pushed_at': '2018-12-14T08:56:31Z', 'git_url': 'git://github.com/ethereum/py-evm.git', 'ssh_url': '[email protected]:ethereum/py-evm.git', 'clone_url': 'https://github.com/ethereum/py-evm.git', 'svn_url': 'https://github.com/ethereum/py-evm', 'homepage': 'https://trinity.ethereum.org/', 'size': 6618, 'stargazers_count': 752, 'watchers_count': 752, 'language': 'Python', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 336, 'mirror_url': None, 'archived': False, 'open_issues_count': 166, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'forks': 336, 'open_issues': 166, 'watchers': 752, 'default_branch': 'master'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591'}, 'html': {'href': 'https://github.com/ethereum/py-evm/pull/1591'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/py-evm/issues/1591'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/py-evm/issues/1591/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/py-evm/statuses/8bfef33798e69f214473c941d1263cb4075ea7a2'}}, 'author_association': 'CONTRIBUTOR', 'merged': True, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': {'login': 'hwwhww', 'id': 9263930, 'node_id': 'MDQ6VXNlcjkyNjM5MzA=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/9263930?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/hwwhww', 'html_url': 'https://github.com/hwwhww', 'followers_url': 'https://api.github.com/users/hwwhww/followers', 'following_url': 'https://api.github.com/users/hwwhww/following{/other_user}', 'gists_url': 'https://api.github.com/users/hwwhww/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/hwwhww/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/hwwhww/subscriptions', 'organizations_url': 'https://api.github.com/users/hwwhww/orgs', 'repos_url': 'https://api.github.com/users/hwwhww/repos', 'events_url': 'https://api.github.com/users/hwwhww/events{/privacy}', 'received_events_url': 'https://api.github.com/users/hwwhww/received_events', 'type': 'User', 'site_admin': False}, 'comments': 0, 'review_comments': 9, 'maintainer_can_modify': False, 'commits': 3, 'additions': 123, 'deletions': 39, 'changed_files': 9}}, 'public': True, 'created_at': '2018-12-14T08:56:32Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753563402', 'type': 'PushEvent', 'actor': {'id': 9753150, 'login': 'njgheorghita', 'display_login': 'njgheorghita', 'gravatar_id': '', 'url': 'https://api.github.com/users/njgheorghita', 'avatar_url': 'https://avatars.githubusercontent.com/u/9753150?'}, 'repo': {'id': 56251096, 'name': 'ethereum/web3.py', 'url': 'https://api.github.com/repos/ethereum/web3.py'}, 'payload': {'push_id': 3137177774, 'size': 52, 'distinct_size': 21, 'ref': 'refs/heads/pm-api', 'head': '62aa0131c4506f40795f1e5102bdf405740f1054', 'before': '7955f26e9bf43a71addd517e6bf1d8b1bdf3ed20', 'commits': [{'sha': 'e013febcef6fd538ed2620646317feea66abb07e', 'author': {'email': '[email protected]', 'name': 'Jason Carver'}, 'message': 'Add default trinity locations to IPC path guesser', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/web3.py/commits/e013febcef6fd538ed2620646317feea66abb07e'}, {'sha': '4c52f0d592571077ad2573cefe0587a336685d44', 'author': {'email': '[email protected]', 'name': 'Jason Carver'}, 'message': 'Merge pull request #1121 from carver/trinity-auto-ipc\n\nAdd default trinity locations to IPC path guesser', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/web3.py/commits/4c52f0d592571077ad2573cefe0587a336685d44'}, {'sha': '94b8b40d6df51730243a713c14cf174bcb14bb32', 'author': {'email': '[email protected]', 'name': 'Michael Razoumovitch'}, 'message': "removed _function_names and _event_names\n\nContractEvents and ContractFunctions have not used lists _event_names / _function_names.\r\nEach time a contract is created through the factory method, the _event_names list and the _function_names list are extended.\r\nCreating many contract's results in high memory usage.", 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/web3.py/commits/94b8b40d6df51730243a713c14cf174bcb14bb32'}, {'sha': 'acfd3d548336d3560d746fbf96156c3fd98d4dda', 'author': {'email': '[email protected]gmail.com', 'name': 'Nick Gheorghita'}, 'message': 'Write docs for construct_sign_and_send_raw_middleware', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/web3.py/commits/acfd3d548336d3560d746fbf96156c3fd98d4dda'}, {'sha': 'feb67fee5e7ed5e8aeaa91118176698bfb479d22', 'author': {'email': '[email protected]', 'name': 'Nick Gheorghita'}, 'message': 'Merge pull request #1137 from njgheorghita/signing-documentation\n\nWrite docs for `construct_sign_and_send_raw_middleware`', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/web3.py/commits/feb67fee5e7ed5e8aeaa91118176698bfb479d22'}, {'sha': '0cbb1e4d3bf5f5fe1e7493f374d824b112d389d8', 'author': {'email': '[email protected]', 'name': 'Jason Carver'}, 'message': 'Merge pull request #1135 from MichaelRazum/master\n\nremoved _function_names and _event_names', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/web3.py/commits/0cbb1e4d3bf5f5fe1e7493f374d824b112d389d8'}, {'sha': 'e441e73780c859211a947b067f11e73ee26b9323', 'author': {'email': '[email protected]', 'name': 'Noel Maersk'}, 'message': 'Pacify Python warnings: collections.Generator -> collections.abc.Generator', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/web3.py/commits/e441e73780c859211a947b067f11e73ee26b9323'}, {'sha': '96440512c1049b94c3d588e906c0077c6f351cf8', 'author': {'email': '[email protected]', 'name': 'Noel Maersk'}, 'message': 'Pacify Python warnings: mark regexes as such.', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/web3.py/commits/96440512c1049b94c3d588e906c0077c6f351cf8'}, {'sha': '9cd99187563e80f13203ca2f952755b7c07f6cf8', 'author': {'email': '[email protected]', 'name': 'Noel Maersk'}, 'message': 'Pacify Python warnings: `sha3` has been renamed to `keccak`.\n\nSQUASHED:\n\nmain: minor, fix incorrect deprecation message.\n\nReads as\n\n    sha3 is deprecated in favor of This method has been renamed to keccak\n\notherwise.', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/web3.py/commits/9cd99187563e80f13203ca2f952755b7c07f6cf8'}, {'sha': 'b05e94288bc60cf0644ca773b48572ab29e6bb5f', 'author': {'email': '[email protected]', 'name': 'Noel Maersk'}, 'message': 'soliditySha3: use passed `cls` (instance or class) instead of class (always).\n\nAddresses criticism\n\nhttps://github.com/ethereum/web3.py/pull/1139#pullrequestreview-176436099', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/web3.py/commits/b05e94288bc60cf0644ca773b48572ab29e6bb5f'}, {'sha': '101b5712fc993ed8104d3510ac731067ceda8c5f', 'author': {'email': '[email protected]', 'name': 'palkeo'}, 'message': 'Add a listStorageKeys RPC (parity-specific one)', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/web3.py/commits/101b5712fc993ed8104d3510ac731067ceda8c5f'}, {'sha': 'ea439e1481322c1014515c6213761d0ac413edad', 'author': {'email': '[email protected]', 'name': 'palkeo'}, 'message': 'Add tests for list_storage_keys when --fat-db is off.', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/web3.py/commits/ea439e1481322c1014515c6213761d0ac413edad'}, {'sha': 'a362bb8f61af05ea4533f7ea53758b7e6c99df6d', 'author': {'email': '[email protected]', 'name': 'Arseniy Ivanov'}, 'message': 'Bump websockets version to 7.0.0', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/web3.py/commits/a362bb8f61af05ea4533f7ea53758b7e6c99df6d'}, {'sha': '5f8198cc52ed4b4d980297d61a2d96d4b8d6d816', 'author': {'email': '[email protected]', 'name': 'palkeo'}, 'message': 'Correctly convert the address for the listStorageKeys RPC.', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/web3.py/commits/5f8198cc52ed4b4d980297d61a2d96d4b8d6d816'}, {'sha': 'e4cba0ebcc4b86eef89409d62697b9d6cc6be9b3', 'author': {'email': '[email protected]', 'name': 'Jason Carver'}, 'message': 'Merge pull request #1145 from palkeo/master\n\nAdd parity-specific listStorageKeys RPC.', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/web3.py/commits/e4cba0ebcc4b86eef89409d62697b9d6cc6be9b3'}, {'sha': '1fea824b089ac186824e1c6ded2127e7fa64333f', 'author': {'email': '[email protected]', 'name': 'Jason Carver'}, 'message': 'Merge pull request #1146 from forkdelta/websockets-7.0.0\n\nBump websockets version to 7.0.0', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/web3.py/commits/1fea824b089ac186824e1c6ded2127e7fa64333f'}, {'sha': 'ecefe55f0b56946e19b0020bdf7c3c3b2dafbff5', 'author': {'email': '[email protected]', 'name': 'Keri'}, 'message': 'Fix doc typos', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/web3.py/commits/ecefe55f0b56946e19b0020bdf7c3c3b2dafbff5'}, {'sha': '0eb804188a51415f2b985d31fd2db526da46efd2', 'author': {'email': '[email protected]', 'name': 'Bryant Eisenbach'}, 'message': 'Added other network options', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/web3.py/commits/0eb804188a51415f2b985d31fd2db526da46efd2'}, {'sha': '31310f91f284f84ab1f9835c8d7133b16dea04dd', 'author': {'email': '[email protected]', 'name': 'Keri'}, 'message': 'Fix unicorn contract doctest failure', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/web3.py/commits/31310f91f284f84ab1f9835c8d7133b16dea04dd'}, {'sha': '3b93236994cd5643b144b77d5b536d3e2e95023d', 'author': {'email': '[email protected]', 'name': 'Jason Carver'}, 'message': 'Merge pull request #1150 from fubuloubu/moar-infura\n\nMoar infura', 'distinct': False, 'url': 'https://api.github.com/repos/ethereum/web3.py/commits/3b93236994cd5643b144b77d5b536d3e2e95023d'}]}, 'public': True, 'created_at': '2018-12-14T08:53:27Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753543621', 'type': 'PushEvent', 'actor': {'id': 9753150, 'login': 'njgheorghita', 'display_login': 'njgheorghita', 'gravatar_id': '', 'url': 'https://api.github.com/users/njgheorghita', 'avatar_url': 'https://avatars.githubusercontent.com/u/9753150?'}, 'repo': {'id': 56251096, 'name': 'ethereum/web3.py', 'url': 'https://api.github.com/repos/ethereum/web3.py'}, 'payload': {'push_id': 3137167346, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/pm-api', 'head': '7955f26e9bf43a71addd517e6bf1d8b1bdf3ed20', 'before': '0491779fe5fb7d9fd98b9c02943794b7acf69b63', 'commits': [{'sha': '7955f26e9bf43a71addd517e6bf1d8b1bdf3ed20', 'author': {'email': '[email protected]', 'name': 'Nick Gheorghita'}, 'message': 'Minor adjustments from pr comments', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/web3.py/commits/7955f26e9bf43a71addd517e6bf1d8b1bdf3ed20'}]}, 'public': True, 'created_at': '2018-12-14T08:49:09Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753536725', 'type': 'PushEvent', 'actor': {'id': 9263930, 'login': 'hwwhww', 'display_login': 'hwwhww', 'gravatar_id': '', 'url': 'https://api.github.com/users/hwwhww', 'avatar_url': 'https://avatars.githubusercontent.com/u/9263930?'}, 'repo': {'id': 149554797, 'name': 'ethereum/eth2.0-specs', 'url': 'https://api.github.com/repos/ethereum/eth2.0-specs'}, 'payload': {'push_id': 3137163795, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/hwwhww-patch-2', 'head': '4b4311fa8dcefb21819517d2449658bc6fbb2323', 'before': '9b25615691299e1050d83a2453eeba3cdb11e78e', 'commits': [{'sha': '4b4311fa8dcefb21819517d2449658bc6fbb2323', 'author': {'email': '[email protected]', 'name': 'Hsiao-Wei Wang'}, 'message': 'fix `exit_validator`', 'distinct': True, 'url': 'https://api.github.com/repos/ethereum/eth2.0-specs/commits/4b4311fa8dcefb21819517d2449658bc6fbb2323'}]}, 'public': True, 'created_at': '2018-12-14T08:47:35Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753451878', 'type': 'GollumEvent', 'actor': {'id': 16969914, 'login': 'jamesray1', 'display_login': 'jamesray1', 'gravatar_id': '', 'url': 'https://api.github.com/users/jamesray1', 'avatar_url': 'https://avatars.githubusercontent.com/u/16969914?'}, 'repo': {'id': 16852060, 'name': 'ethereum/wiki', 'url': 'https://api.github.com/repos/ethereum/wiki'}, 'payload': {'pages': [{'page_name': 'Ethereum-Introduction', 'title': 'Ethereum Introduction', 'summary': None, 'action': 'edited', 'sha': 'c87be54da0b86e702a0434741fd12c0e13eecd78', 'html_url': 'https://github.com/ethereum/wiki/wiki/Ethereum-Introduction'}]}, 'public': True, 'created_at': '2018-12-14T08:28:53Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753451198', 'type': 'IssuesEvent', 'actor': {'id': 111600, 'login': 'ligi', 'display_login': 'ligi', 'gravatar_id': '', 'url': 'https://api.github.com/users/ligi', 'avatar_url': 'https://avatars.githubusercontent.com/u/111600?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'action': 'closed', 'issue': {'url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18295', 'repository_url': 'https://api.github.com/repos/ethereum/go-ethereum', 'labels_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18295/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18295/comments', 'events_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18295/events', 'html_url': 'https://github.com/ethereum/go-ethereum/issues/18295', 'id': 390551549, 'node_id': 'MDU6SXNzdWUzOTA1NTE1NDk=', 'number': 18295, 'title': 'Ropsten syncing after Constantinople', 'user': {'login': 'amitOodles', 'id': 20085459, 'node_id': 'MDQ6VXNlcjIwMDg1NDU5', 'avatar_url': 'https://avatars2.githubusercontent.com/u/20085459?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/amitOodles', 'html_url': 'https://github.com/amitOodles', 'followers_url': 'https://api.github.com/users/amitOodles/followers', 'following_url': 'https://api.github.com/users/amitOodles/following{/other_user}', 'gists_url': 'https://api.github.com/users/amitOodles/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/amitOodles/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/amitOodles/subscriptions', 'organizations_url': 'https://api.github.com/users/amitOodles/orgs', 'repos_url': 'https://api.github.com/users/amitOodles/repos', 'events_url': 'https://api.github.com/users/amitOodles/events{/privacy}', 'received_events_url': 'https://api.github.com/users/amitOodles/received_events', 'type': 'User', 'site_admin': False}, 'labels': [{'id': 1132687333, 'node_id': 'MDU6TGFiZWwxMTMyNjg3MzMz', 'url': 'https://api.github.com/repos/ethereum/go-ethereum/labels/need:check-for-current-version', 'name': 'need:check-for-current-version', 'color': 'd3b300', 'default': False}], 'state': 'closed', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 5, 'created_at': '2018-12-13T07:30:36Z', 'updated_at': '2018-12-14T08:28:44Z', 'closed_at': '2018-12-14T08:28:44Z', 'author_association': 'NONE', 'body': '\r\nI am unable to sync on the Ropsten network , i noticed the difference when i checked that my blockdata and highest blocks were different than those shown on ropsten.etherscan.io.\r\n\r\nI referred this `link https://notes.ethereum.org/s/SJE9O2ksQ#Ropsten-Byzantium-gtConstantinople-fork`, and ran my node in --nodiscover mode , adding the peers provided in the list. The issue now is i am not able to sync completely \r\n\r\nThis is the state of my geth instance from one day \r\n\r\n`eth.syncing\r\n{\r\n  currentBlock: 4229808,\r\n  highestBlock: 4617907,\r\n  knownStates: 12753380,\r\n  pulledStates: 12739941,\r\n  startingBlock: 0\r\n}`\r\n\r\nThere are two issues -\r\n1) What should i do to get my geth instance in sync ?\r\n2) How do  i differentiate on which reorganised chain my node is ? There is some information in this gist , \r\n`https://gist.github.com/veox/379ffd8480fab9edd14f904ae964986b` , But i am still confused about on how to figure if i am on the correct chain ?\r\n\r\n#### System information\r\n\r\nGeth version: `Geth/v1.8.11-stable-dea1ce05/linux-amd64/go1.9.7`\r\nOS & Version: Linux\r\n'}}, 'public': True, 'created_at': '2018-12-14T08:28:44Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753451187', 'type': 'IssueCommentEvent', 'actor': {'id': 111600, 'login': 'ligi', 'display_login': 'ligi', 'gravatar_id': '', 'url': 'https://api.github.com/users/ligi', 'avatar_url': 'https://avatars.githubusercontent.com/u/111600?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18295', 'repository_url': 'https://api.github.com/repos/ethereum/go-ethereum', 'labels_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18295/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18295/comments', 'events_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18295/events', 'html_url': 'https://github.com/ethereum/go-ethereum/issues/18295', 'id': 390551549, 'node_id': 'MDU6SXNzdWUzOTA1NTE1NDk=', 'number': 18295, 'title': 'Ropsten syncing after Constantinople', 'user': {'login': 'amitOodles', 'id': 20085459, 'node_id': 'MDQ6VXNlcjIwMDg1NDU5', 'avatar_url': 'https://avatars2.githubusercontent.com/u/20085459?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/amitOodles', 'html_url': 'https://github.com/amitOodles', 'followers_url': 'https://api.github.com/users/amitOodles/followers', 'following_url': 'https://api.github.com/users/amitOodles/following{/other_user}', 'gists_url': 'https://api.github.com/users/amitOodles/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/amitOodles/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/amitOodles/subscriptions', 'organizations_url': 'https://api.github.com/users/amitOodles/orgs', 'repos_url': 'https://api.github.com/users/amitOodles/repos', 'events_url': 'https://api.github.com/users/amitOodles/events{/privacy}', 'received_events_url': 'https://api.github.com/users/amitOodles/received_events', 'type': 'User', 'site_admin': False}, 'labels': [{'id': 1132687333, 'node_id': 'MDU6TGFiZWwxMTMyNjg3MzMz', 'url': 'https://api.github.com/repos/ethereum/go-ethereum/labels/need:check-for-current-version', 'name': 'need:check-for-current-version', 'color': 'd3b300', 'default': False}], 'state': 'closed', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 4, 'created_at': '2018-12-13T07:30:36Z', 'updated_at': '2018-12-14T08:28:44Z', 'closed_at': '2018-12-14T08:28:44Z', 'author_association': 'NONE', 'body': '\r\nI am unable to sync on the Ropsten network , i noticed the difference when i checked that my blockdata and highest blocks were different than those shown on ropsten.etherscan.io.\r\n\r\nI referred this `link https://notes.ethereum.org/s/SJE9O2ksQ#Ropsten-Byzantium-gtConstantinople-fork`, and ran my node in --nodiscover mode , adding the peers provided in the list. The issue now is i am not able to sync completely \r\n\r\nThis is the state of my geth instance from one day \r\n\r\n`eth.syncing\r\n{\r\n  currentBlock: 4229808,\r\n  highestBlock: 4617907,\r\n  knownStates: 12753380,\r\n  pulledStates: 12739941,\r\n  startingBlock: 0\r\n}`\r\n\r\nThere are two issues -\r\n1) What should i do to get my geth instance in sync ?\r\n2) How do  i differentiate on which reorganised chain my node is ? There is some information in this gist , \r\n`https://gist.github.com/veox/379ffd8480fab9edd14f904ae964986b` , But i am still confused about on how to figure if i am on the correct chain ?\r\n\r\n#### System information\r\n\r\nGeth version: `Geth/v1.8.11-stable-dea1ce05/linux-amd64/go1.9.7`\r\nOS & Version: Linux\r\n'}, 'comment': {'url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/comments/447252468', 'html_url': 'https://github.com/ethereum/go-ethereum/issues/18295#issuecomment-447252468', 'issue_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18295', 'id': 447252468, 'node_id': 'MDEyOklzc3VlQ29tbWVudDQ0NzI1MjQ2OA==', 'user': {'login': 'ligi', 'id': 111600, 'node_id': 'MDQ6VXNlcjExMTYwMA==', 'avatar_url': 'https://avatars2.githubusercontent.com/u/111600?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ligi', 'html_url': 'https://github.com/ligi', 'followers_url': 'https://api.github.com/users/ligi/followers', 'following_url': 'https://api.github.com/users/ligi/following{/other_user}', 'gists_url': 'https://api.github.com/users/ligi/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ligi/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ligi/subscriptions', 'organizations_url': 'https://api.github.com/users/ligi/orgs', 'repos_url': 'https://api.github.com/users/ligi/repos', 'events_url': 'https://api.github.com/users/ligi/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ligi/received_events', 'type': 'User', 'site_admin': False}, 'created_at': '2018-12-14T08:28:44Z', 'updated_at': '2018-12-14T08:28:44Z', 'author_association': 'MEMBER', 'body': 'Please help to keep this issue-tracker clean and only for real issues with go-ethereum. For questions please go to http://ethereum.stackexchange.com\r\n\r\nIf the issue-tracker gets littered with questions - it is really hard to keep track of real issues. So I am sorry to close this issue - but feel free to answer here with the link to your question on stackexchange. Thanks!'}}, 'public': True, 'created_at': '2018-12-14T08:28:44Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753450471', 'type': 'IssuesEvent', 'actor': {'id': 33201827, 'login': 'nisdas', 'display_login': 'nisdas', 'gravatar_id': '', 'url': 'https://api.github.com/users/nisdas', 'avatar_url': 'https://avatars.githubusercontent.com/u/33201827?'}, 'repo': {'id': 149554797, 'name': 'ethereum/eth2.0-specs', 'url': 'https://api.github.com/repos/ethereum/eth2.0-specs'}, 'payload': {'action': 'opened', 'issue': {'url': 'https://api.github.com/repos/ethereum/eth2.0-specs/issues/319', 'repository_url': 'https://api.github.com/repos/ethereum/eth2.0-specs', 'labels_url': 'https://api.github.com/repos/ethereum/eth2.0-specs/issues/319/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/eth2.0-specs/issues/319/comments', 'events_url': 'https://api.github.com/repos/ethereum/eth2.0-specs/issues/319/events', 'html_url': 'https://github.com/ethereum/eth2.0-specs/issues/319', 'id': 391012090, 'node_id': 'MDU6SXNzdWUzOTEwMTIwOTA=', 'number': 319, 'title': 'RandaoLayers Should Not Be Incremented Every Slot', 'user': {'login': 'nisdas', 'id': 33201827, 'node_id': 'MDQ6VXNlcjMzMjAxODI3', 'avatar_url': 'https://avatars2.githubusercontent.com/u/33201827?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/nisdas', 'html_url': 'https://github.com/nisdas', 'followers_url': 'https://api.github.com/users/nisdas/followers', 'following_url': 'https://api.github.com/users/nisdas/following{/other_user}', 'gists_url': 'https://api.github.com/users/nisdas/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/nisdas/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/nisdas/subscriptions', 'organizations_url': 'https://api.github.com/users/nisdas/orgs', 'repos_url': 'https://api.github.com/users/nisdas/repos', 'events_url': 'https://api.github.com/users/nisdas/events{/privacy}', 'received_events_url': 'https://api.github.com/users/nisdas/received_events', 'type': 'User', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 0, 'created_at': '2018-12-14T08:28:33Z', 'updated_at': '2018-12-14T08:28:33Z', 'closed_at': None, 'author_association': 'CONTRIBUTOR', 'body': "In the spec over here: https://github.com/ethereum/eth2.0-specs/blob/master/specs/core/0_beacon-chain.md#misc-counters, \r\n\r\nThe block proposer has their `randao layers` incremented every slot when they should only have it incremented in the case where the proposer doesn't propose a block in that particular slot instead of every slot. \r\n```\r\nSet state.validator_registry[get_beacon_proposer_index(state, state.slot)].randao_layers += 1.\r\n```"}}, 'public': True, 'created_at': '2018-12-14T08:28:33Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753431687', 'type': 'PullRequestReviewCommentEvent', 'actor': {'id': 3391420, 'login': 'ChihChengLiang', 'display_login': 'ChihChengLiang', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChihChengLiang', 'avatar_url': 'https://avatars.githubusercontent.com/u/3391420?'}, 'repo': {'id': 77478378, 'name': 'ethereum/py-evm', 'url': 'https://api.github.com/repos/ethereum/py-evm'}, 'payload': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments/241672809', 'pull_request_review_id': 185002359, 'id': 241672809, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MTY3MjgwOQ==', 'diff_hunk': "@@ -661,3 +664,68 @@ def test_get_new_validator_registry_delta_chain_tip(index,\n         flag=flag,\n     )\n     assert result == expected\n+\n+\[email protected].mark.parametrize(\n+    (\n+        'pre_fork_version,'\n+        'post_fork_version,'\n+        'fork_slot,'\n+        'current_slot,'\n+        'expected'\n+    ),\n+    [\n+        (0, 0, 0, 0, 0),\n+        (0, 0, 0, 1, 0),\n+        (0, 0, 20, 10, 0),", 'path': 'tests/beacon/test_helpers.py', 'position': 39, 'original_position': 39, 'commit_id': 'a0b81d481e8f11f2023b7ea15277e9ef409c8386', 'original_commit_id': 'a0b81d481e8f11f2023b7ea15277e9ef409c8386', 'user': {'login': 'ChihChengLiang', 'id': 3391420, 'node_id': 'MDQ6VXNlcjMzOTE0MjA=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/3391420?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChihChengLiang', 'html_url': 'https://github.com/ChihChengLiang', 'followers_url': 'https://api.github.com/users/ChihChengLiang/followers', 'following_url': 'https://api.github.com/users/ChihChengLiang/following{/other_user}', 'gists_url': 'https://api.github.com/users/ChihChengLiang/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ChihChengLiang/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ChihChengLiang/subscriptions', 'organizations_url': 'https://api.github.com/users/ChihChengLiang/orgs', 'repos_url': 'https://api.github.com/users/ChihChengLiang/repos', 'events_url': 'https://api.github.com/users/ChihChengLiang/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ChihChengLiang/received_events', 'type': 'User', 'site_admin': False}, 'body': 'would it be more meaningful if\r\n```suggestion\r\n        (0, 1, 20, 10, 0),\r\n```', 'created_at': '2018-12-14T08:20:17Z', 'updated_at': '2018-12-14T08:24:15Z', 'html_url': 'https://github.com/ethereum/py-evm/pull/1591#discussion_r241672809', 'pull_request_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591', 'author_association': 'CONTRIBUTOR', '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments/241672809'}, 'html': {'href': 'https://github.com/ethereum/py-evm/pull/1591#discussion_r241672809'}, 'pull_request': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591'}}}, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591', 'id': 238301357, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM4MzAxMzU3', 'html_url': 'https://github.com/ethereum/py-evm/pull/1591', 'diff_url': 'https://github.com/ethereum/py-evm/pull/1591.diff', 'patch_url': 'https://github.com/ethereum/py-evm/pull/1591.patch', 'issue_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1591', 'number': 1591, 'state': 'open', 'locked': False, 'title': 'Add `get_fork_version` and `get_domain` helpers', 'user': {'login': 'hwwhww', 'id': 9263930, 'node_id': 'MDQ6VXNlcjkyNjM5MzA=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/9263930?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/hwwhww', 'html_url': 'https://github.com/hwwhww', 'followers_url': 'https://api.github.com/users/hwwhww/followers', 'following_url': 'https://api.github.com/users/hwwhww/following{/other_user}', 'gists_url': 'https://api.github.com/users/hwwhww/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/hwwhww/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/hwwhww/subscriptions', 'organizations_url': 'https://api.github.com/users/hwwhww/orgs', 'repos_url': 'https://api.github.com/users/hwwhww/repos', 'events_url': 'https://api.github.com/users/hwwhww/events{/privacy}', 'received_events_url': 'https://api.github.com/users/hwwhww/received_events', 'type': 'User', 'site_admin': False}, 'body': '### What was wrong?\r\n#1510 part 3\r\n\r\n### How was it fixed?\r\n1. Add `get_fork_version` and `get_domain` and tests. Spec: https://github.com/ethereum/eth2.0-specs/blob/master/specs/core/0_beacon-chain.md#get_fork_version\r\n2. Put `ValidatorStatusCode`, `ValidatorRegistryDeltaFlag`, and `SignatureDomain` in `eth/beacon/enums.py`.\r\n\r\n#### Cute Animal Picture\r\n\r\n![fox-in-snow](https://user-images.githubusercontent.com/9263930/49925283-63392e80-fef3-11e8-901c-d32613eeb227.jpg)\r\n\r\n', 'created_at': '2018-12-13T08:24:05Z', 'updated_at': '2018-12-14T08:24:15Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '1e701723011be47a3e0fc279b3936acd381d3212', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1591/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/py-evm/statuses/a0b81d481e8f11f2023b7ea15277e9ef409c8386', 'head': {'label': 'hwwhww:get_fork', 'ref': 'get_fork', 'sha': 'a0b81d481e8f11f2023b7ea15277e9ef409c8386', 'user': {'login': 'hwwhww', 'id': 9263930, 'node_id': 'MDQ6VXNlcjkyNjM5MzA=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/9263930?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/hwwhww', 'html_url': 'https://github.com/hwwhww', 'followers_url': 'https://api.github.com/users/hwwhww/followers', 'following_url': 'https://api.github.com/users/hwwhww/following{/other_user}', 'gists_url': 'https://api.github.com/users/hwwhww/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/hwwhww/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/hwwhww/subscriptions', 'organizations_url': 'https://api.github.com/users/hwwhww/orgs', 'repos_url': 'https://api.github.com/users/hwwhww/repos', 'events_url': 'https://api.github.com/users/hwwhww/events{/privacy}', 'received_events_url': 'https://api.github.com/users/hwwhww/received_events', 'type': 'User', 'site_admin': False}, 'repo': {'id': 112237812, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTIyMzc4MTI=', 'name': 'py-evm', 'full_name': 'hwwhww/py-evm', 'private': False, 'owner': {'login': 'hwwhww', 'id': 9263930, 'node_id': 'MDQ6VXNlcjkyNjM5MzA=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/9263930?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/hwwhww', 'html_url': 'https://github.com/hwwhww', 'followers_url': 'https://api.github.com/users/hwwhww/followers', 'following_url': 'https://api.github.com/users/hwwhww/following{/other_user}', 'gists_url': 'https://api.github.com/users/hwwhww/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/hwwhww/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/hwwhww/subscriptions', 'organizations_url': 'https://api.github.com/users/hwwhww/orgs', 'repos_url': 'https://api.github.com/users/hwwhww/repos', 'events_url': 'https://api.github.com/users/hwwhww/events{/privacy}', 'received_events_url': 'https://api.github.com/users/hwwhww/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/hwwhww/py-evm', 'description': 'A Python implementation of the Ethereum Virtual Machine', 'fork': True, 'url': 'https://api.github.com/repos/hwwhww/py-evm', 'forks_url': 'https://api.github.com/repos/hwwhww/py-evm/forks', 'keys_url': 'https://api.github.com/repos/hwwhww/py-evm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/hwwhww/py-evm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/hwwhww/py-evm/teams', 'hooks_url': 'https://api.github.com/repos/hwwhww/py-evm/hooks', 'issue_events_url': 'https://api.github.com/repos/hwwhww/py-evm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/hwwhww/py-evm/events', 'assignees_url': 'https://api.github.com/repos/hwwhww/py-evm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/hwwhww/py-evm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/hwwhww/py-evm/tags', 'blobs_url': 'https://api.github.com/repos/hwwhww/py-evm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/hwwhww/py-evm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/hwwhww/py-evm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/hwwhww/py-evm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/hwwhww/py-evm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/hwwhww/py-evm/languages', 'stargazers_url': 'https://api.github.com/repos/hwwhww/py-evm/stargazers', 'contributors_url': 'https://api.github.com/repos/hwwhww/py-evm/contributors', 'subscribers_url': 'https://api.github.com/repos/hwwhww/py-evm/subscribers', 'subscription_url': 'https://api.github.com/repos/hwwhww/py-evm/subscription', 'commits_url': 'https://api.github.com/repos/hwwhww/py-evm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/hwwhww/py-evm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/hwwhww/py-evm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/hwwhww/py-evm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/hwwhww/py-evm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/hwwhww/py-evm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/hwwhww/py-evm/merges', 'archive_url': 'https://api.github.com/repos/hwwhww/py-evm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/hwwhww/py-evm/downloads', 'issues_url': 'https://api.github.com/repos/hwwhww/py-evm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/hwwhww/py-evm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/hwwhww/py-evm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/hwwhww/py-evm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/hwwhww/py-evm/labels{/name}', 'releases_url': 'https://api.github.com/repos/hwwhww/py-evm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/hwwhww/py-evm/deployments', 'created_at': '2017-11-27T19:17:15Z', 'updated_at': '2018-09-28T16:22:02Z', 'pushed_at': '2018-12-14T07:22:58Z', 'git_url': 'git://github.com/hwwhww/py-evm.git', 'ssh_url': '[email protected]:hwwhww/py-evm.git', 'clone_url': 'https://github.com/hwwhww/py-evm.git', 'svn_url': 'https://github.com/hwwhww/py-evm', 'homepage': '', 'size': 8338, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'Python', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, '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': 'ethereum:master', 'ref': 'master', 'sha': '7e3b313dbb485fe16729cc40b442310afd750dc2', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 77478378, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NzQ3ODM3OA==', 'name': 'py-evm', 'full_name': 'ethereum/py-evm', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/py-evm', 'description': 'A Python implementation of the Ethereum Virtual Machine', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/py-evm', 'forks_url': 'https://api.github.com/repos/ethereum/py-evm/forks', 'keys_url': 'https://api.github.com/repos/ethereum/py-evm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/py-evm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/py-evm/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/py-evm/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/py-evm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/py-evm/events', 'assignees_url': 'https://api.github.com/repos/ethereum/py-evm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/py-evm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/py-evm/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/py-evm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/py-evm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/py-evm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/py-evm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/py-evm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/py-evm/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/py-evm/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/py-evm/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/py-evm/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/py-evm/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/py-evm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/py-evm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/py-evm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/py-evm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/py-evm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/py-evm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/py-evm/merges', 'archive_url': 'https://api.github.com/repos/ethereum/py-evm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/py-evm/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/py-evm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/py-evm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/py-evm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/py-evm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/py-evm/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/py-evm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/py-evm/deployments', 'created_at': '2016-12-27T19:36:00Z', 'updated_at': '2018-12-14T06:44:59Z', 'pushed_at': '2018-12-14T07:29:19Z', 'git_url': 'git://github.com/ethereum/py-evm.git', 'ssh_url': '[email protected]om:ethereum/py-evm.git', 'clone_url': 'https://github.com/ethereum/py-evm.git', 'svn_url': 'https://github.com/ethereum/py-evm', 'homepage': 'https://trinity.ethereum.org/', 'size': 6618, 'stargazers_count': 752, 'watchers_count': 752, 'language': 'Python', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 336, 'mirror_url': None, 'archived': False, 'open_issues_count': 167, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'forks': 336, 'open_issues': 167, 'watchers': 752, 'default_branch': 'master'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591'}, 'html': {'href': 'https://github.com/ethereum/py-evm/pull/1591'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/py-evm/issues/1591'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/py-evm/issues/1591/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/py-evm/statuses/a0b81d481e8f11f2023b7ea15277e9ef409c8386'}}, 'author_association': 'CONTRIBUTOR'}}, 'public': True, 'created_at': '2018-12-14T08:20:17Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753431686', 'type': 'PullRequestReviewCommentEvent', 'actor': {'id': 3391420, 'login': 'ChihChengLiang', 'display_login': 'ChihChengLiang', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChihChengLiang', 'avatar_url': 'https://avatars.githubusercontent.com/u/3391420?'}, 'repo': {'id': 77478378, 'name': 'ethereum/py-evm', 'url': 'https://api.github.com/repos/ethereum/py-evm'}, 'payload': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments/241671446', 'pull_request_review_id': 185002359, 'id': 241671446, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MTY3MTQ0Ng==', 'diff_hunk': '@@ -0,0 +1,21 @@\n+from enum import IntEnum\n+\n+\n+class ValidatorStatusCode(IntEnum):\n+    PENDING_ACTIVATION = 0\n+    ACTIVE = 1\n+    PENDING_EXIT = 2\n+    EXITED_WITHOUT_PENALTY = 3\n+    EXITED_WITH_PENALTY = 4\n+\n+\n+class ValidatorRegistryDeltaFlag(IntEnum):\n+    ACTIVATION = 0\n+    EXIT = 1\n+\n+\n+class SignatureDomain(IntEnum):\n+    DOMAIN_DEPOSIT = 0\n+    DOMAIN_ATTESTATION = 1\n+    DOMAIN_PROPOSAL = 2\n+    DOMAIN_LOGOUT = 3', 'path': 'eth/beacon/enums.py', 'position': 21, 'original_position': 21, 'commit_id': 'a0b81d481e8f11f2023b7ea15277e9ef409c8386', 'original_commit_id': 'a0b81d481e8f11f2023b7ea15277e9ef409c8386', 'user': {'login': 'ChihChengLiang', 'id': 3391420, 'node_id': 'MDQ6VXNlcjMzOTE0MjA=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/3391420?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChihChengLiang', 'html_url': 'https://github.com/ChihChengLiang', 'followers_url': 'https://api.github.com/users/ChihChengLiang/followers', 'following_url': 'https://api.github.com/users/ChihChengLiang/following{/other_user}', 'gists_url': 'https://api.github.com/users/ChihChengLiang/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ChihChengLiang/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ChihChengLiang/subscriptions', 'organizations_url': 'https://api.github.com/users/ChihChengLiang/orgs', 'repos_url': 'https://api.github.com/users/ChihChengLiang/repos', 'events_url': 'https://api.github.com/users/ChihChengLiang/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ChihChengLiang/received_events', 'type': 'User', 'site_admin': False}, 'body': '```suggestion\r\n    DOMAIN_EXIT = 3\r\n```', 'created_at': '2018-12-14T08:14:37Z', 'updated_at': '2018-12-14T08:24:15Z', 'html_url': 'https://github.com/ethereum/py-evm/pull/1591#discussion_r241671446', 'pull_request_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591', 'author_association': 'CONTRIBUTOR', '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments/241671446'}, 'html': {'href': 'https://github.com/ethereum/py-evm/pull/1591#discussion_r241671446'}, 'pull_request': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591'}}}, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591', 'id': 238301357, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM4MzAxMzU3', 'html_url': 'https://github.com/ethereum/py-evm/pull/1591', 'diff_url': 'https://github.com/ethereum/py-evm/pull/1591.diff', 'patch_url': 'https://github.com/ethereum/py-evm/pull/1591.patch', 'issue_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1591', 'number': 1591, 'state': 'open', 'locked': False, 'title': 'Add `get_fork_version` and `get_domain` helpers', 'user': {'login': 'hwwhww', 'id': 9263930, 'node_id': 'MDQ6VXNlcjkyNjM5MzA=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/9263930?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/hwwhww', 'html_url': 'https://github.com/hwwhww', 'followers_url': 'https://api.github.com/users/hwwhww/followers', 'following_url': 'https://api.github.com/users/hwwhww/following{/other_user}', 'gists_url': 'https://api.github.com/users/hwwhww/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/hwwhww/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/hwwhww/subscriptions', 'organizations_url': 'https://api.github.com/users/hwwhww/orgs', 'repos_url': 'https://api.github.com/users/hwwhww/repos', 'events_url': 'https://api.github.com/users/hwwhww/events{/privacy}', 'received_events_url': 'https://api.github.com/users/hwwhww/received_events', 'type': 'User', 'site_admin': False}, 'body': '### What was wrong?\r\n#1510 part 3\r\n\r\n### How was it fixed?\r\n1. Add `get_fork_version` and `get_domain` and tests. Spec: https://github.com/ethereum/eth2.0-specs/blob/master/specs/core/0_beacon-chain.md#get_fork_version\r\n2. Put `ValidatorStatusCode`, `ValidatorRegistryDeltaFlag`, and `SignatureDomain` in `eth/beacon/enums.py`.\r\n\r\n#### Cute Animal Picture\r\n\r\n![fox-in-snow](https://user-images.githubusercontent.com/9263930/49925283-63392e80-fef3-11e8-901c-d32613eeb227.jpg)\r\n\r\n', 'created_at': '2018-12-13T08:24:05Z', 'updated_at': '2018-12-14T08:24:15Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '1e701723011be47a3e0fc279b3936acd381d3212', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1591/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/py-evm/statuses/a0b81d481e8f11f2023b7ea15277e9ef409c8386', 'head': {'label': 'hwwhww:get_fork', 'ref': 'get_fork', 'sha': 'a0b81d481e8f11f2023b7ea15277e9ef409c8386', 'user': {'login': 'hwwhww', 'id': 9263930, 'node_id': 'MDQ6VXNlcjkyNjM5MzA=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/9263930?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/hwwhww', 'html_url': 'https://github.com/hwwhww', 'followers_url': 'https://api.github.com/users/hwwhww/followers', 'following_url': 'https://api.github.com/users/hwwhww/following{/other_user}', 'gists_url': 'https://api.github.com/users/hwwhww/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/hwwhww/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/hwwhww/subscriptions', 'organizations_url': 'https://api.github.com/users/hwwhww/orgs', 'repos_url': 'https://api.github.com/users/hwwhww/repos', 'events_url': 'https://api.github.com/users/hwwhww/events{/privacy}', 'received_events_url': 'https://api.github.com/users/hwwhww/received_events', 'type': 'User', 'site_admin': False}, 'repo': {'id': 112237812, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTIyMzc4MTI=', 'name': 'py-evm', 'full_name': 'hwwhww/py-evm', 'private': False, 'owner': {'login': 'hwwhww', 'id': 9263930, 'node_id': 'MDQ6VXNlcjkyNjM5MzA=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/9263930?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/hwwhww', 'html_url': 'https://github.com/hwwhww', 'followers_url': 'https://api.github.com/users/hwwhww/followers', 'following_url': 'https://api.github.com/users/hwwhww/following{/other_user}', 'gists_url': 'https://api.github.com/users/hwwhww/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/hwwhww/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/hwwhww/subscriptions', 'organizations_url': 'https://api.github.com/users/hwwhww/orgs', 'repos_url': 'https://api.github.com/users/hwwhww/repos', 'events_url': 'https://api.github.com/users/hwwhww/events{/privacy}', 'received_events_url': 'https://api.github.com/users/hwwhww/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/hwwhww/py-evm', 'description': 'A Python implementation of the Ethereum Virtual Machine', 'fork': True, 'url': 'https://api.github.com/repos/hwwhww/py-evm', 'forks_url': 'https://api.github.com/repos/hwwhww/py-evm/forks', 'keys_url': 'https://api.github.com/repos/hwwhww/py-evm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/hwwhww/py-evm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/hwwhww/py-evm/teams', 'hooks_url': 'https://api.github.com/repos/hwwhww/py-evm/hooks', 'issue_events_url': 'https://api.github.com/repos/hwwhww/py-evm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/hwwhww/py-evm/events', 'assignees_url': 'https://api.github.com/repos/hwwhww/py-evm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/hwwhww/py-evm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/hwwhww/py-evm/tags', 'blobs_url': 'https://api.github.com/repos/hwwhww/py-evm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/hwwhww/py-evm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/hwwhww/py-evm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/hwwhww/py-evm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/hwwhww/py-evm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/hwwhww/py-evm/languages', 'stargazers_url': 'https://api.github.com/repos/hwwhww/py-evm/stargazers', 'contributors_url': 'https://api.github.com/repos/hwwhww/py-evm/contributors', 'subscribers_url': 'https://api.github.com/repos/hwwhww/py-evm/subscribers', 'subscription_url': 'https://api.github.com/repos/hwwhww/py-evm/subscription', 'commits_url': 'https://api.github.com/repos/hwwhww/py-evm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/hwwhww/py-evm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/hwwhww/py-evm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/hwwhww/py-evm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/hwwhww/py-evm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/hwwhww/py-evm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/hwwhww/py-evm/merges', 'archive_url': 'https://api.github.com/repos/hwwhww/py-evm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/hwwhww/py-evm/downloads', 'issues_url': 'https://api.github.com/repos/hwwhww/py-evm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/hwwhww/py-evm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/hwwhww/py-evm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/hwwhww/py-evm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/hwwhww/py-evm/labels{/name}', 'releases_url': 'https://api.github.com/repos/hwwhww/py-evm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/hwwhww/py-evm/deployments', 'created_at': '2017-11-27T19:17:15Z', 'updated_at': '2018-09-28T16:22:02Z', 'pushed_at': '2018-12-14T07:22:58Z', 'git_url': 'git://github.com/hwwhww/py-evm.git', 'ssh_url': '[email protected]:hwwhww/py-evm.git', 'clone_url': 'https://github.com/hwwhww/py-evm.git', 'svn_url': 'https://github.com/hwwhww/py-evm', 'homepage': '', 'size': 8338, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'Python', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, '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': 'ethereum:master', 'ref': 'master', 'sha': '7e3b313dbb485fe16729cc40b442310afd750dc2', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 77478378, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NzQ3ODM3OA==', 'name': 'py-evm', 'full_name': 'ethereum/py-evm', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/py-evm', 'description': 'A Python implementation of the Ethereum Virtual Machine', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/py-evm', 'forks_url': 'https://api.github.com/repos/ethereum/py-evm/forks', 'keys_url': 'https://api.github.com/repos/ethereum/py-evm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/py-evm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/py-evm/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/py-evm/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/py-evm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/py-evm/events', 'assignees_url': 'https://api.github.com/repos/ethereum/py-evm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/py-evm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/py-evm/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/py-evm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/py-evm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/py-evm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/py-evm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/py-evm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/py-evm/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/py-evm/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/py-evm/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/py-evm/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/py-evm/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/py-evm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/py-evm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/py-evm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/py-evm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/py-evm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/py-evm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/py-evm/merges', 'archive_url': 'https://api.github.com/repos/ethereum/py-evm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/py-evm/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/py-evm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/py-evm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/py-evm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/py-evm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/py-evm/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/py-evm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/py-evm/deployments', 'created_at': '2016-12-27T19:36:00Z', 'updated_at': '2018-12-14T06:44:59Z', 'pushed_at': '2018-12-14T07:29:19Z', 'git_url': 'git://github.com/ethereum/py-evm.git', 'ssh_url': '[email protected]:ethereum/py-evm.git', 'clone_url': 'https://github.com/ethereum/py-evm.git', 'svn_url': 'https://github.com/ethereum/py-evm', 'homepage': 'https://trinity.ethereum.org/', 'size': 6618, 'stargazers_count': 752, 'watchers_count': 752, 'language': 'Python', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 336, 'mirror_url': None, 'archived': False, 'open_issues_count': 167, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'forks': 336, 'open_issues': 167, 'watchers': 752, 'default_branch': 'master'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591'}, 'html': {'href': 'https://github.com/ethereum/py-evm/pull/1591'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/py-evm/issues/1591'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/py-evm/issues/1591/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/py-evm/statuses/a0b81d481e8f11f2023b7ea15277e9ef409c8386'}}, 'author_association': 'CONTRIBUTOR'}}, 'public': True, 'created_at': '2018-12-14T08:14:37Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753426087', 'type': 'ForkEvent', 'actor': {'id': 508559, 'login': 'cderong', 'display_login': 'cderong', 'gravatar_id': '', 'url': 'https://api.github.com/users/cderong', 'avatar_url': 'https://avatars.githubusercontent.com/u/508559?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'forkee': {'id': 161754139, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjE3NTQxMzk=', 'name': 'go-ethereum', 'full_name': 'cderong/go-ethereum', 'private': False, 'owner': {'login': 'cderong', 'id': 508559, 'node_id': 'MDQ6VXNlcjUwODU1OQ==', 'avatar_url': 'https://avatars3.githubusercontent.com/u/508559?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cderong', 'html_url': 'https://github.com/cderong', 'followers_url': 'https://api.github.com/users/cderong/followers', 'following_url': 'https://api.github.com/users/cderong/following{/other_user}', 'gists_url': 'https://api.github.com/users/cderong/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cderong/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cderong/subscriptions', 'organizations_url': 'https://api.github.com/users/cderong/orgs', 'repos_url': 'https://api.github.com/users/cderong/repos', 'events_url': 'https://api.github.com/users/cderong/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cderong/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/cderong/go-ethereum', 'description': 'Official Go implementation of the Ethereum protocol', 'fork': True, 'url': 'https://api.github.com/repos/cderong/go-ethereum', 'forks_url': 'https://api.github.com/repos/cderong/go-ethereum/forks', 'keys_url': 'https://api.github.com/repos/cderong/go-ethereum/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/cderong/go-ethereum/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/cderong/go-ethereum/teams', 'hooks_url': 'https://api.github.com/repos/cderong/go-ethereum/hooks', 'issue_events_url': 'https://api.github.com/repos/cderong/go-ethereum/issues/events{/number}', 'events_url': 'https://api.github.com/repos/cderong/go-ethereum/events', 'assignees_url': 'https://api.github.com/repos/cderong/go-ethereum/assignees{/user}', 'branches_url': 'https://api.github.com/repos/cderong/go-ethereum/branches{/branch}', 'tags_url': 'https://api.github.com/repos/cderong/go-ethereum/tags', 'blobs_url': 'https://api.github.com/repos/cderong/go-ethereum/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/cderong/go-ethereum/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/cderong/go-ethereum/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/cderong/go-ethereum/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/cderong/go-ethereum/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/cderong/go-ethereum/languages', 'stargazers_url': 'https://api.github.com/repos/cderong/go-ethereum/stargazers', 'contributors_url': 'https://api.github.com/repos/cderong/go-ethereum/contributors', 'subscribers_url': 'https://api.github.com/repos/cderong/go-ethereum/subscribers', 'subscription_url': 'https://api.github.com/repos/cderong/go-ethereum/subscription', 'commits_url': 'https://api.github.com/repos/cderong/go-ethereum/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/cderong/go-ethereum/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/cderong/go-ethereum/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/cderong/go-ethereum/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/cderong/go-ethereum/contents/{+path}', 'compare_url': 'https://api.github.com/repos/cderong/go-ethereum/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/cderong/go-ethereum/merges', 'archive_url': 'https://api.github.com/repos/cderong/go-ethereum/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/cderong/go-ethereum/downloads', 'issues_url': 'https://api.github.com/repos/cderong/go-ethereum/issues{/number}', 'pulls_url': 'https://api.github.com/repos/cderong/go-ethereum/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/cderong/go-ethereum/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/cderong/go-ethereum/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/cderong/go-ethereum/labels{/name}', 'releases_url': 'https://api.github.com/repos/cderong/go-ethereum/releases{/id}', 'deployments_url': 'https://api.github.com/repos/cderong/go-ethereum/deployments', 'created_at': '2018-12-14T08:22:56Z', 'updated_at': '2018-12-14T08:16:46Z', 'pushed_at': '2018-12-14T08:13:39Z', 'git_url': 'git://github.com/cderong/go-ethereum.git', 'ssh_url': '[email protected]:cderong/go-ethereum.git', 'clone_url': 'https://github.com/cderong/go-ethereum.git', 'svn_url': 'https://github.com/cderong/go-ethereum', 'homepage': 'https://geth.ethereum.org', 'size': 107613, 'stargazers_count': 0, 'watchers_count': 0, 'language': None, 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'open_issues_count': 0, 'license': {'key': 'lgpl-3.0', 'name': 'GNU Lesser General Public License v3.0', 'spdx_id': 'LGPL-3.0', 'url': 'https://api.github.com/licenses/lgpl-3.0', 'node_id': 'MDc6TGljZW5zZTEy'}, 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'public': True}}, 'public': True, 'created_at': '2018-12-14T08:22:56Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753400068', 'type': 'WatchEvent', 'actor': {'id': 8707532, 'login': 'serical', 'display_login': 'serical', 'gravatar_id': '', 'url': 'https://api.github.com/users/serical', 'avatar_url': 'https://avatars.githubusercontent.com/u/8707532?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'action': 'started'}, 'public': True, 'created_at': '2018-12-14T08:16:46Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753386879', 'type': 'PullRequestReviewCommentEvent', 'actor': {'id': 3391420, 'login': 'ChihChengLiang', 'display_login': 'ChihChengLiang', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChihChengLiang', 'avatar_url': 'https://avatars.githubusercontent.com/u/3391420?'}, 'repo': {'id': 77478378, 'name': 'ethereum/py-evm', 'url': 'https://api.github.com/repos/ethereum/py-evm'}, 'payload': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments/241671245', 'pull_request_review_id': 185002110, 'id': 241671245, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MTY3MTI0NQ==', 'diff_hunk': '@@ -0,0 +1,21 @@\n+from enum import IntEnum\n+\n+\n+class ValidatorStatusCode(IntEnum):\n+    PENDING_ACTIVATION = 0\n+    ACTIVE = 1\n+    PENDING_EXIT = 2', 'path': 'eth/beacon/enums.py', 'position': 7, 'original_position': 7, 'commit_id': 'a0b81d481e8f11f2023b7ea15277e9ef409c8386', 'original_commit_id': 'a0b81d481e8f11f2023b7ea15277e9ef409c8386', 'user': {'login': 'ChihChengLiang', 'id': 3391420, 'node_id': 'MDQ6VXNlcjMzOTE0MjA=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/3391420?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChihChengLiang', 'html_url': 'https://github.com/ChihChengLiang', 'followers_url': 'https://api.github.com/users/ChihChengLiang/followers', 'following_url': 'https://api.github.com/users/ChihChengLiang/following{/other_user}', 'gists_url': 'https://api.github.com/users/ChihChengLiang/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ChihChengLiang/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ChihChengLiang/subscriptions', 'organizations_url': 'https://api.github.com/users/ChihChengLiang/orgs', 'repos_url': 'https://api.github.com/users/ChihChengLiang/repos', 'events_url': 'https://api.github.com/users/ChihChengLiang/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ChihChengLiang/received_events', 'type': 'User', 'site_admin': False}, 'body': '```suggestion\r\n    ACTIVE_PENDING_EXIT = 2\r\n```', 'created_at': '2018-12-14T08:13:43Z', 'updated_at': '2018-12-14T08:13:44Z', 'html_url': 'https://github.com/ethereum/py-evm/pull/1591#discussion_r241671245', 'pull_request_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591', 'author_association': 'CONTRIBUTOR', '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments/241671245'}, 'html': {'href': 'https://github.com/ethereum/py-evm/pull/1591#discussion_r241671245'}, 'pull_request': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591'}}}, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591', 'id': 238301357, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM4MzAxMzU3', 'html_url': 'https://github.com/ethereum/py-evm/pull/1591', 'diff_url': 'https://github.com/ethereum/py-evm/pull/1591.diff', 'patch_url': 'https://github.com/ethereum/py-evm/pull/1591.patch', 'issue_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1591', 'number': 1591, 'state': 'open', 'locked': False, 'title': 'Add `get_fork_version` and `get_domain` helpers', 'user': {'login': 'hwwhww', 'id': 9263930, 'node_id': 'MDQ6VXNlcjkyNjM5MzA=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/9263930?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/hwwhww', 'html_url': 'https://github.com/hwwhww', 'followers_url': 'https://api.github.com/users/hwwhww/followers', 'following_url': 'https://api.github.com/users/hwwhww/following{/other_user}', 'gists_url': 'https://api.github.com/users/hwwhww/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/hwwhww/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/hwwhww/subscriptions', 'organizations_url': 'https://api.github.com/users/hwwhww/orgs', 'repos_url': 'https://api.github.com/users/hwwhww/repos', 'events_url': 'https://api.github.com/users/hwwhww/events{/privacy}', 'received_events_url': 'https://api.github.com/users/hwwhww/received_events', 'type': 'User', 'site_admin': False}, 'body': '### What was wrong?\r\n#1510 part 3\r\n\r\n### How was it fixed?\r\n1. Add `get_fork_version` and `get_domain` and tests. Spec: https://github.com/ethereum/eth2.0-specs/blob/master/specs/core/0_beacon-chain.md#get_fork_version\r\n2. Put `ValidatorStatusCode`, `ValidatorRegistryDeltaFlag`, and `SignatureDomain` in `eth/beacon/enums.py`.\r\n\r\n#### Cute Animal Picture\r\n\r\n![fox-in-snow](https://user-images.githubusercontent.com/9263930/49925283-63392e80-fef3-11e8-901c-d32613eeb227.jpg)\r\n\r\n', 'created_at': '2018-12-13T08:24:05Z', 'updated_at': '2018-12-14T08:13:44Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '1e701723011be47a3e0fc279b3936acd381d3212', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/py-evm/issues/1591/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/py-evm/statuses/a0b81d481e8f11f2023b7ea15277e9ef409c8386', 'head': {'label': 'hwwhww:get_fork', 'ref': 'get_fork', 'sha': 'a0b81d481e8f11f2023b7ea15277e9ef409c8386', 'user': {'login': 'hwwhww', 'id': 9263930, 'node_id': 'MDQ6VXNlcjkyNjM5MzA=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/9263930?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/hwwhww', 'html_url': 'https://github.com/hwwhww', 'followers_url': 'https://api.github.com/users/hwwhww/followers', 'following_url': 'https://api.github.com/users/hwwhww/following{/other_user}', 'gists_url': 'https://api.github.com/users/hwwhww/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/hwwhww/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/hwwhww/subscriptions', 'organizations_url': 'https://api.github.com/users/hwwhww/orgs', 'repos_url': 'https://api.github.com/users/hwwhww/repos', 'events_url': 'https://api.github.com/users/hwwhww/events{/privacy}', 'received_events_url': 'https://api.github.com/users/hwwhww/received_events', 'type': 'User', 'site_admin': False}, 'repo': {'id': 112237812, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTIyMzc4MTI=', 'name': 'py-evm', 'full_name': 'hwwhww/py-evm', 'private': False, 'owner': {'login': 'hwwhww', 'id': 9263930, 'node_id': 'MDQ6VXNlcjkyNjM5MzA=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/9263930?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/hwwhww', 'html_url': 'https://github.com/hwwhww', 'followers_url': 'https://api.github.com/users/hwwhww/followers', 'following_url': 'https://api.github.com/users/hwwhww/following{/other_user}', 'gists_url': 'https://api.github.com/users/hwwhww/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/hwwhww/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/hwwhww/subscriptions', 'organizations_url': 'https://api.github.com/users/hwwhww/orgs', 'repos_url': 'https://api.github.com/users/hwwhww/repos', 'events_url': 'https://api.github.com/users/hwwhww/events{/privacy}', 'received_events_url': 'https://api.github.com/users/hwwhww/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/hwwhww/py-evm', 'description': 'A Python implementation of the Ethereum Virtual Machine', 'fork': True, 'url': 'https://api.github.com/repos/hwwhww/py-evm', 'forks_url': 'https://api.github.com/repos/hwwhww/py-evm/forks', 'keys_url': 'https://api.github.com/repos/hwwhww/py-evm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/hwwhww/py-evm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/hwwhww/py-evm/teams', 'hooks_url': 'https://api.github.com/repos/hwwhww/py-evm/hooks', 'issue_events_url': 'https://api.github.com/repos/hwwhww/py-evm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/hwwhww/py-evm/events', 'assignees_url': 'https://api.github.com/repos/hwwhww/py-evm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/hwwhww/py-evm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/hwwhww/py-evm/tags', 'blobs_url': 'https://api.github.com/repos/hwwhww/py-evm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/hwwhww/py-evm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/hwwhww/py-evm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/hwwhww/py-evm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/hwwhww/py-evm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/hwwhww/py-evm/languages', 'stargazers_url': 'https://api.github.com/repos/hwwhww/py-evm/stargazers', 'contributors_url': 'https://api.github.com/repos/hwwhww/py-evm/contributors', 'subscribers_url': 'https://api.github.com/repos/hwwhww/py-evm/subscribers', 'subscription_url': 'https://api.github.com/repos/hwwhww/py-evm/subscription', 'commits_url': 'https://api.github.com/repos/hwwhww/py-evm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/hwwhww/py-evm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/hwwhww/py-evm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/hwwhww/py-evm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/hwwhww/py-evm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/hwwhww/py-evm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/hwwhww/py-evm/merges', 'archive_url': 'https://api.github.com/repos/hwwhww/py-evm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/hwwhww/py-evm/downloads', 'issues_url': 'https://api.github.com/repos/hwwhww/py-evm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/hwwhww/py-evm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/hwwhww/py-evm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/hwwhww/py-evm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/hwwhww/py-evm/labels{/name}', 'releases_url': 'https://api.github.com/repos/hwwhww/py-evm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/hwwhww/py-evm/deployments', 'created_at': '2017-11-27T19:17:15Z', 'updated_at': '2018-09-28T16:22:02Z', 'pushed_at': '2018-12-14T07:22:58Z', 'git_url': 'git://github.com/hwwhww/py-evm.git', 'ssh_url': '[email protected]:hwwhww/py-evm.git', 'clone_url': 'https://github.com/hwwhww/py-evm.git', 'svn_url': 'https://github.com/hwwhww/py-evm', 'homepage': '', 'size': 8350, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'Python', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, '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': 'ethereum:master', 'ref': 'master', 'sha': '7e3b313dbb485fe16729cc40b442310afd750dc2', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 77478378, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NzQ3ODM3OA==', 'name': 'py-evm', 'full_name': 'ethereum/py-evm', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/py-evm', 'description': 'A Python implementation of the Ethereum Virtual Machine', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/py-evm', 'forks_url': 'https://api.github.com/repos/ethereum/py-evm/forks', 'keys_url': 'https://api.github.com/repos/ethereum/py-evm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/py-evm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/py-evm/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/py-evm/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/py-evm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/py-evm/events', 'assignees_url': 'https://api.github.com/repos/ethereum/py-evm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/py-evm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/py-evm/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/py-evm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/py-evm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/py-evm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/py-evm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/py-evm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/py-evm/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/py-evm/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/py-evm/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/py-evm/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/py-evm/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/py-evm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/py-evm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/py-evm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/py-evm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/py-evm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/py-evm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/py-evm/merges', 'archive_url': 'https://api.github.com/repos/ethereum/py-evm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/py-evm/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/py-evm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/py-evm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/py-evm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/py-evm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/py-evm/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/py-evm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/py-evm/deployments', 'created_at': '2016-12-27T19:36:00Z', 'updated_at': '2018-12-14T06:44:59Z', 'pushed_at': '2018-12-14T07:29:19Z', 'git_url': 'git://github.com/ethereum/py-evm.git', 'ssh_url': '[email protected]:ethereum/py-evm.git', 'clone_url': 'https://github.com/ethereum/py-evm.git', 'svn_url': 'https://github.com/ethereum/py-evm', 'homepage': 'https://trinity.ethereum.org/', 'size': 6618, 'stargazers_count': 752, 'watchers_count': 752, 'language': 'Python', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'forks_count': 336, 'mirror_url': None, 'archived': False, 'open_issues_count': 167, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'forks': 336, 'open_issues': 167, 'watchers': 752, 'default_branch': 'master'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591'}, 'html': {'href': 'https://github.com/ethereum/py-evm/pull/1591'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/py-evm/issues/1591'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/py-evm/issues/1591/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/py-evm/pulls/1591/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/py-evm/statuses/a0b81d481e8f11f2023b7ea15277e9ef409c8386'}}, 'author_association': 'CONTRIBUTOR'}}, 'public': True, 'created_at': '2018-12-14T08:13:43Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753386498', 'type': 'PullRequestEvent', 'actor': {'id': 20079910, 'login': 'yahtoo', 'display_login': 'yahtoo', 'gravatar_id': '', 'url': 'https://api.github.com/users/yahtoo', 'avatar_url': 'https://avatars.githubusercontent.com/u/20079910?'}, 'repo': {'id': 15452919, 'name': 'ethereum/go-ethereum', 'url': 'https://api.github.com/repos/ethereum/go-ethereum'}, 'payload': {'action': 'opened', 'number': 18309, 'pull_request': {'url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18309', 'id': 238641377, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM4NjQxMzc3', 'html_url': 'https://github.com/ethereum/go-ethereum/pull/18309', 'diff_url': 'https://github.com/ethereum/go-ethereum/pull/18309.diff', 'patch_url': 'https://github.com/ethereum/go-ethereum/pull/18309.patch', 'issue_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18309', 'number': 18309, 'state': 'open', 'locked': False, 'title': 'p2p/discv5: Fix target id repeat hash error', 'user': {'login': 'yahtoo', 'id': 20079910, 'node_id': 'MDQ6VXNlcjIwMDc5OTEw', 'avatar_url': 'https://avatars3.githubusercontent.com/u/20079910?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/yahtoo', 'html_url': 'https://github.com/yahtoo', 'followers_url': 'https://api.github.com/users/yahtoo/followers', 'following_url': 'https://api.github.com/users/yahtoo/following{/other_user}', 'gists_url': 'https://api.github.com/users/yahtoo/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/yahtoo/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/yahtoo/subscriptions', 'organizations_url': 'https://api.github.com/users/yahtoo/orgs', 'repos_url': 'https://api.github.com/users/yahtoo/repos', 'events_url': 'https://api.github.com/users/yahtoo/events{/privacy}', 'received_events_url': 'https://api.github.com/users/yahtoo/received_events', 'type': 'User', 'site_admin': False}, 'body': 'q.target is the hash that needs to be found, no need to hash again.', 'created_at': '2018-12-14T08:13:39Z', 'updated_at': '2018-12-14T08:13:39Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': None, 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18309/commits', 'review_comments_url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18309/comments', 'review_comment_url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18309/comments', 'statuses_url': 'https://api.github.com/repos/ethereum/go-ethereum/statuses/b883d5eab1d7ca04802b9b92d9236b08895a1d4a', 'head': {'label': 'yahtoo:discv5', 'ref': 'discv5', 'sha': 'b883d5eab1d7ca04802b9b92d9236b08895a1d4a', 'user': {'login': 'yahtoo', 'id': 20079910, 'node_id': 'MDQ6VXNlcjIwMDc5OTEw', 'avatar_url': 'https://avatars3.githubusercontent.com/u/20079910?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/yahtoo', 'html_url': 'https://github.com/yahtoo', 'followers_url': 'https://api.github.com/users/yahtoo/followers', 'following_url': 'https://api.github.com/users/yahtoo/following{/other_user}', 'gists_url': 'https://api.github.com/users/yahtoo/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/yahtoo/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/yahtoo/subscriptions', 'organizations_url': 'https://api.github.com/users/yahtoo/orgs', 'repos_url': 'https://api.github.com/users/yahtoo/repos', 'events_url': 'https://api.github.com/users/yahtoo/events{/privacy}', 'received_events_url': 'https://api.github.com/users/yahtoo/received_events', 'type': 'User', 'site_admin': False}, 'repo': {'id': 113520981, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTM1MjA5ODE=', 'name': 'go-ethereum', 'full_name': 'yahtoo/go-ethereum', 'private': False, 'owner': {'login': 'yahtoo', 'id': 20079910, 'node_id': 'MDQ6VXNlcjIwMDc5OTEw', 'avatar_url': 'https://avatars3.githubusercontent.com/u/20079910?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/yahtoo', 'html_url': 'https://github.com/yahtoo', 'followers_url': 'https://api.github.com/users/yahtoo/followers', 'following_url': 'https://api.github.com/users/yahtoo/following{/other_user}', 'gists_url': 'https://api.github.com/users/yahtoo/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/yahtoo/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/yahtoo/subscriptions', 'organizations_url': 'https://api.github.com/users/yahtoo/orgs', 'repos_url': 'https://api.github.com/users/yahtoo/repos', 'events_url': 'https://api.github.com/users/yahtoo/events{/privacy}', 'received_events_url': 'https://api.github.com/users/yahtoo/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/yahtoo/go-ethereum', 'description': 'Official Go implementation of the Ethereum protocol', 'fork': True, 'url': 'https://api.github.com/repos/yahtoo/go-ethereum', 'forks_url': 'https://api.github.com/repos/yahtoo/go-ethereum/forks', 'keys_url': 'https://api.github.com/repos/yahtoo/go-ethereum/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/yahtoo/go-ethereum/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/yahtoo/go-ethereum/teams', 'hooks_url': 'https://api.github.com/repos/yahtoo/go-ethereum/hooks', 'issue_events_url': 'https://api.github.com/repos/yahtoo/go-ethereum/issues/events{/number}', 'events_url': 'https://api.github.com/repos/yahtoo/go-ethereum/events', 'assignees_url': 'https://api.github.com/repos/yahtoo/go-ethereum/assignees{/user}', 'branches_url': 'https://api.github.com/repos/yahtoo/go-ethereum/branches{/branch}', 'tags_url': 'https://api.github.com/repos/yahtoo/go-ethereum/tags', 'blobs_url': 'https://api.github.com/repos/yahtoo/go-ethereum/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/yahtoo/go-ethereum/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/yahtoo/go-ethereum/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/yahtoo/go-ethereum/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/yahtoo/go-ethereum/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/yahtoo/go-ethereum/languages', 'stargazers_url': 'https://api.github.com/repos/yahtoo/go-ethereum/stargazers', 'contributors_url': 'https://api.github.com/repos/yahtoo/go-ethereum/contributors', 'subscribers_url': 'https://api.github.com/repos/yahtoo/go-ethereum/subscribers', 'subscription_url': 'https://api.github.com/repos/yahtoo/go-ethereum/subscription', 'commits_url': 'https://api.github.com/repos/yahtoo/go-ethereum/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/yahtoo/go-ethereum/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/yahtoo/go-ethereum/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/yahtoo/go-ethereum/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/yahtoo/go-ethereum/contents/{+path}', 'compare_url': 'https://api.github.com/repos/yahtoo/go-ethereum/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/yahtoo/go-ethereum/merges', 'archive_url': 'https://api.github.com/repos/yahtoo/go-ethereum/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/yahtoo/go-ethereum/downloads', 'issues_url': 'https://api.github.com/repos/yahtoo/go-ethereum/issues{/number}', 'pulls_url': 'https://api.github.com/repos/yahtoo/go-ethereum/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/yahtoo/go-ethereum/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/yahtoo/go-ethereum/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/yahtoo/go-ethereum/labels{/name}', 'releases_url': 'https://api.github.com/repos/yahtoo/go-ethereum/releases{/id}', 'deployments_url': 'https://api.github.com/repos/yahtoo/go-ethereum/deployments', 'created_at': '2017-12-08T02:20:59Z', 'updated_at': '2018-12-14T07:55:57Z', 'pushed_at': '2018-12-14T08:10:12Z', 'git_url': 'git://github.com/yahtoo/go-ethereum.git', 'ssh_url': '[email protected]:yahtoo/go-ethereum.git', 'clone_url': 'https://github.com/yahtoo/go-ethereum.git', 'svn_url': 'https://github.com/yahtoo/go-ethereum', 'homepage': 'https://geth.ethereum.org', 'size': 90889, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'Go', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'open_issues_count': 0, 'license': {'key': 'lgpl-3.0', 'name': 'GNU Lesser General Public License v3.0', 'spdx_id': 'LGPL-3.0', 'url': 'https://api.github.com/licenses/lgpl-3.0', 'node_id': 'MDc6TGljZW5zZTEy'}, 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master'}}, 'base': {'label': 'ethereum:master', 'ref': 'master', 'sha': 'e79821cabeda5c6907f03073d11fe6d83367f494', 'user': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 15452919, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNTQ1MjkxOQ==', 'name': 'go-ethereum', 'full_name': 'ethereum/go-ethereum', 'private': False, 'owner': {'login': 'ethereum', 'id': 6250754, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYyNTA3NTQ=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/6250754?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ethereum', 'html_url': 'https://github.com/ethereum', 'followers_url': 'https://api.github.com/users/ethereum/followers', 'following_url': 'https://api.github.com/users/ethereum/following{/other_user}', 'gists_url': 'https://api.github.com/users/ethereum/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ethereum/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ethereum/subscriptions', 'organizations_url': 'https://api.github.com/users/ethereum/orgs', 'repos_url': 'https://api.github.com/users/ethereum/repos', 'events_url': 'https://api.github.com/users/ethereum/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ethereum/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/ethereum/go-ethereum', 'description': 'Official Go implementation of the Ethereum protocol', 'fork': False, 'url': 'https://api.github.com/repos/ethereum/go-ethereum', 'forks_url': 'https://api.github.com/repos/ethereum/go-ethereum/forks', 'keys_url': 'https://api.github.com/repos/ethereum/go-ethereum/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ethereum/go-ethereum/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ethereum/go-ethereum/teams', 'hooks_url': 'https://api.github.com/repos/ethereum/go-ethereum/hooks', 'issue_events_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ethereum/go-ethereum/events', 'assignees_url': 'https://api.github.com/repos/ethereum/go-ethereum/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ethereum/go-ethereum/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ethereum/go-ethereum/tags', 'blobs_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ethereum/go-ethereum/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ethereum/go-ethereum/languages', 'stargazers_url': 'https://api.github.com/repos/ethereum/go-ethereum/stargazers', 'contributors_url': 'https://api.github.com/repos/ethereum/go-ethereum/contributors', 'subscribers_url': 'https://api.github.com/repos/ethereum/go-ethereum/subscribers', 'subscription_url': 'https://api.github.com/repos/ethereum/go-ethereum/subscription', 'commits_url': 'https://api.github.com/repos/ethereum/go-ethereum/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ethereum/go-ethereum/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ethereum/go-ethereum/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ethereum/go-ethereum/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ethereum/go-ethereum/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ethereum/go-ethereum/merges', 'archive_url': 'https://api.github.com/repos/ethereum/go-ethereum/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ethereum/go-ethereum/downloads', 'issues_url': 'https://api.github.com/repos/ethereum/go-ethereum/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ethereum/go-ethereum/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ethereum/go-ethereum/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ethereum/go-ethereum/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ethereum/go-ethereum/labels{/name}', 'releases_url': 'https://api.github.com/repos/ethereum/go-ethereum/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ethereum/go-ethereum/deployments', 'created_at': '2013-12-26T13:05:46Z', 'updated_at': '2018-12-14T07:21:35Z', 'pushed_at': '2018-12-14T01:35:03Z', 'git_url': 'git://github.com/ethereum/go-ethereum.git', 'ssh_url': '[email protected]:ethereum/go-ethereum.git', 'clone_url': 'https://github.com/ethereum/go-ethereum.git', 'svn_url': 'https://github.com/ethereum/go-ethereum', 'homepage': 'https://geth.ethereum.org', 'size': 107613, 'stargazers_count': 22058, 'watchers_count': 22058, 'language': 'Go', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': True, 'forks_count': 7710, 'mirror_url': None, 'archived': False, 'open_issues_count': 859, 'license': {'key': 'lgpl-3.0', 'name': 'GNU Lesser General Public License v3.0', 'spdx_id': 'LGPL-3.0', 'url': 'https://api.github.com/licenses/lgpl-3.0', 'node_id': 'MDc6TGljZW5zZTEy'}, 'forks': 7710, 'open_issues': 859, 'watchers': 22058, 'default_branch': 'master'}}, '_links': {'self': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18309'}, 'html': {'href': 'https://github.com/ethereum/go-ethereum/pull/18309'}, 'issue': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18309'}, 'comments': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/issues/18309/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18309/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/pulls/18309/commits'}, 'statuses': {'href': 'https://api.github.com/repos/ethereum/go-ethereum/statuses/b883d5eab1d7ca04802b9b92d9236b08895a1d4a'}}, 'author_association': 'NONE', 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 1, 'additions': 1, 'deletions': 1, 'changed_files': 1}}, 'public': True, 'created_at': '2018-12-14T08:13:39Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753378866', 'type': 'WatchEvent', 'actor': {'id': 25615578, 'login': 'ByLuxury', 'display_login': 'ByLuxury', 'gravatar_id': '', 'url': 'https://api.github.com/users/ByLuxury', 'avatar_url': 'https://avatars.githubusercontent.com/u/25615578?'}, 'repo': {'id': 44971752, 'name': 'ethereum/EIPs', 'url': 'https://api.github.com/repos/ethereum/EIPs'}, 'payload': {'action': 'started'}, 'public': True, 'created_at': '2018-12-14T08:11:46Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753352327', 'type': 'IssueCommentEvent', 'actor': {'id': 15922456, 'login': 'Bhargavasomu', 'display_login': 'Bhargavasomu', 'gravatar_id': '', 'url': 'https://api.github.com/users/Bhargavasomu', 'avatar_url': 'https://avatars.githubusercontent.com/u/15922456?'}, 'repo': {'id': 97318641, 'name': 'ethereum/py_ecc', 'url': 'https://api.github.com/repos/ethereum/py_ecc'}, 'payload': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/ethereum/py_ecc/issues/35', 'repository_url': 'https://api.github.com/repos/ethereum/py_ecc', 'labels_url': 'https://api.github.com/repos/ethereum/py_ecc/issues/35/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/py_ecc/issues/35/comments', 'events_url': 'https://api.github.com/repos/ethereum/py_ecc/issues/35/events', 'html_url': 'https://github.com/ethereum/py_ecc/pull/35', 'id': 389447423, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MjM3NDM1NDk2', 'number': 35, 'title': '[WIP] Refactoring the Codebase', 'user': {'login': 'Bhargavasomu', 'id': 15922456, 'node_id': 'MDQ6VXNlcjE1OTIyNDU2', 'avatar_url': 'https://avatars0.githubusercontent.com/u/15922456?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Bhargavasomu', 'html_url': 'https://github.com/Bhargavasomu', 'followers_url': 'https://api.github.com/users/Bhargavasomu/followers', 'following_url': 'https://api.github.com/users/Bhargavasomu/following{/other_user}', 'gists_url': 'https://api.github.com/users/Bhargavasomu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Bhargavasomu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Bhargavasomu/subscriptions', 'organizations_url': 'https://api.github.com/users/Bhargavasomu/orgs', 'repos_url': 'https://api.github.com/users/Bhargavasomu/repos', 'events_url': 'https://api.github.com/users/Bhargavasomu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Bhargavasomu/received_events', 'type': 'User', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 5, 'created_at': '2018-12-10T19:17:54Z', 'updated_at': '2018-12-14T08:05:16Z', 'closed_at': None, 'author_association': 'CONTRIBUTOR', 'pull_request': {'url': 'https://api.github.com/repos/ethereum/py_ecc/pulls/35', 'html_url': 'https://github.com/ethereum/py_ecc/pull/35', 'diff_url': 'https://github.com/ethereum/py_ecc/pull/35.diff', 'patch_url': 'https://github.com/ethereum/py_ecc/pull/35.patch'}, 'body': '### What was wrong?\r\nFixes Issue: #31 \r\n\r\n\r\n#### Cute Animal Picture\r\n\r\n![put a cute animal picture link inside the parentheses](https://i.pinimg.com/originals/eb/01/f8/eb01f8b13063229091785c066a7c8e75.jpg)\r\n'}, 'comment': {'url': 'https://api.github.com/repos/ethereum/py_ecc/issues/comments/447247081', 'html_url': 'https://github.com/ethereum/py_ecc/pull/35#issuecomment-447247081', 'issue_url': 'https://api.github.com/repos/ethereum/py_ecc/issues/35', 'id': 447247081, 'node_id': 'MDEyOklzc3VlQ29tbWVudDQ0NzI0NzA4MQ==', 'user': {'login': 'Bhargavasomu', 'id': 15922456, 'node_id': 'MDQ6VXNlcjE1OTIyNDU2', 'avatar_url': 'https://avatars0.githubusercontent.com/u/15922456?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Bhargavasomu', 'html_url': 'https://github.com/Bhargavasomu', 'followers_url': 'https://api.github.com/users/Bhargavasomu/followers', 'following_url': 'https://api.github.com/users/Bhargavasomu/following{/other_user}', 'gists_url': 'https://api.github.com/users/Bhargavasomu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Bhargavasomu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Bhargavasomu/subscriptions', 'organizations_url': 'https://api.github.com/users/Bhargavasomu/orgs', 'repos_url': 'https://api.github.com/users/Bhargavasomu/repos', 'events_url': 'https://api.github.com/users/Bhargavasomu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Bhargavasomu/received_events', 'type': 'User', 'site_admin': False}, 'created_at': '2018-12-14T08:05:16Z', 'updated_at': '2018-12-14T08:05:16Z', 'author_association': 'CONTRIBUTOR', 'body': '`Type Hinting` is done now.'}}, 'public': True, 'created_at': '2018-12-14T08:05:16Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753322823', 'type': 'IssueCommentEvent', 'actor': {'id': 8602661, 'login': 'jakerockland', 'display_login': 'jakerockland', 'gravatar_id': '', 'url': 'https://api.github.com/users/jakerockland', 'avatar_url': 'https://avatars.githubusercontent.com/u/8602661?'}, 'repo': {'id': 73461676, 'name': 'ethereum/vyper', 'url': 'https://api.github.com/repos/ethereum/vyper'}, 'payload': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/ethereum/vyper/issues/969', 'repository_url': 'https://api.github.com/repos/ethereum/vyper', 'labels_url': 'https://api.github.com/repos/ethereum/vyper/issues/969/labels{/name}', 'comments_url': 'https://api.github.com/repos/ethereum/vyper/issues/969/comments', 'events_url': 'https://api.github.com/repos/ethereum/vyper/issues/969/events', 'html_url': 'https://github.com/ethereum/vyper/issues/969', 'id': 345441565, 'node_id': 'MDU6SXNzdWUzNDU0NDE1NjU=', 'number': 969, 'title': 'Allow lesser length array to be passed to external calls.', 'user': {'login': 'jacqueswww', 'id': 6917456, 'node_id': 'MDQ6VXNlcjY5MTc0NTY=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/6917456?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jacqueswww', 'html_url': 'https://github.com/jacqueswww', 'followers_url': 'https://api.github.com/users/jacqueswww/followers', 'following_url': 'https://api.github.com/users/jacqueswww/following{/other_user}', 'gists_url': 'https://api.github.com/users/jacqueswww/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jacqueswww/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jacqueswww/subscriptions', 'organizations_url': 'https://api.github.com/users/jacqueswww/orgs', 'repos_url': 'https://api.github.com/users/jacqueswww/repos', 'events_url': 'https://api.github.com/users/jacqueswww/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jacqueswww/received_events', 'type': 'User', 'site_admin': False}, 'labels': [{'id': 479554962, 'node_id': 'MDU6TGFiZWw0Nzk1NTQ5NjI=', 'url': 'https://api.github.com/repos/ethereum/vyper/labels/bug', 'name': 'bug', 'color': 'ee0701', 'default': True}], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 11, 'created_at': '2018-07-28T11:30:52Z', 'updated_at': '2018-12-14T07:57:53Z', 'closed_at': None, 'author_association': 'CONTRIBUTOR', 'body': '### Version Information\r\n\r\nAllow an array of lesser length to be passed to functions.\r\n\r\n```python\r\ncontract A:\r\n    def test(b: address[4]): modifying\r\n...\r\na: address[2]\r\nA(x).test(a) \r\n```\r\n\r\nShould work.\r\n\r\n#### Cute Animal Picture\r\n![](https://static.boredpanda.com/blog/wp-content/uuuploads/cute-baby-animals/cute-baby-animals-31.jpg)'}, 'comment': {'url': 'https://api.github.com/repos/ethereum/vyper/issues/comments/447245506', 'html_url': 'https://github.com/ethereum/vyper/issues/969#issuecomment-447245506', 'issue_url': 'https://api.github.com/repos/ethereum/vyper/issues/969', 'id': 447245506, 'node_id': 'MDEyOklzc3VlQ29tbWVudDQ0NzI0NTUwNg==', 'user': {'login': 'jakerockland', 'id': 8602661, 'node_id': 'MDQ6VXNlcjg2MDI2NjE=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/8602661?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jakerockland', 'html_url': 'https://github.com/jakerockland', 'followers_url': 'https://api.github.com/users/jakerockland/followers', 'following_url': 'https://api.github.com/users/jakerockland/following{/other_user}', 'gists_url': 'https://api.github.com/users/jakerockland/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jakerockland/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jakerockland/subscriptions', 'organizations_url': 'https://api.github.com/users/jakerockland/orgs', 'repos_url': 'https://api.github.com/users/jakerockland/repos', 'events_url': 'https://api.github.com/users/jakerockland/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jakerockland/received_events', 'type': 'User', 'site_admin': False}, 'created_at': '2018-12-14T07:57:53Z', 'updated_at': '2018-12-14T07:57:53Z', 'author_association': 'CONTRIBUTOR', 'body': "Yeah the reframing is very helpful, thank you 😊I think we were talking past each other a bit but I'm on the same page now 😅\r\n\r\nGoing off your suggestion above, what're your thoughts on something like this:\r\n\r\n```python\r\ndef foo(a: uint256[2...4]):\r\n    for i in a:\r\n        # Runs a minimum of twice and a maximum of 4 times\r\n\r\n# Produces ABI type: 'uint256[]', with optionals 'min=2', and 'max=4'\r\n```\r\n\r\nCould pre-parse the `...` to `:` and then it parses fine. Also going about it this way would in-turn remove `...` from Vyper syntax which is probably a reasonable thing to do anyway as it seems better to make people use `pass`, which is much more explicit and readable and `...`."}}, 'public': True, 'created_at': '2018-12-14T07:57:53Z', 'org': {'id': 6250754, 'login': 'ethereum', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/ethereum', 'avatar_url': 'https://avatars.githubusercontent.com/u/6250754?'}}, {'id': '8753303900', 'type': 'ForkEvent', 'actor': {'id': 42035461, 'login': 'ParkIan', 'display_login': 'ParkIan', 'gravatar_id': '', 'url': 'https://api.github.com/users/ParkIan', 'avatar_url': 'https://avatars.githubusercontent.com/u/42035461?'}, 'repo': {'id': 55413578, 'name': 'ethereum/solc-js', 'url': 'https://api.github.com/repos/ethereum/solc-js'}, 'payload': {'forkee': {'id': 161750627, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjE3NTA2Mjc=', 'name': 'solc-js', 'full_name': 'ParkIan/solc-js', 'private': False, 'owner': {'login': 'ParkIan', 'id': 42035461, 'node_id': 'MDQ6VXNlcjQyMDM1NDYx', 'avatar_url': 'https://avatars1.githubusercontent.com/u/42035461?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ParkIan', 'html_url': 'https://github.com/ParkIan', 'followers_url': 'https://api.githu