{"action":"created","comment":{"url":"https://api.github.com/repos/poanetwork/bridge-nodejs/pulls/comments/218487908","pull_request_review_id":156437287,"id":218487908,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxODQ4NzkwOA==","diff_hunk":"@@ -0,0 +1,51 @@\n+const { HttpListProviderError } = require('http-list-provider')\n+const {\n+  AlreadyProcessedError,\n+  IncompatibleContractError,\n+  InvalidValidatorError\n+} = require('../../utils/errors')\n+const { parseMessage } = require('../../utils/message')\n+\n+async function estimateGas({\n+  foreignBridge,\n+  validatorContract,\n+  message,\n+  numberOfCollectedSignatures,\n+  v,\n+  r,\n+  s,\n+  address\n+}) {\n+  try {\n+    const gasEstimate = await foreignBridge.methods\n+      .executeSignatures(v, r, s, message)\n+      .estimateGas()\n+    return gasEstimate\n+  } catch (e) {\n+    if (e instanceof HttpListProviderError) {\n+      throw e\n+    }\n+\n+    const requiredSignatures = await foreignBridge.methods.requiredSignatures().call()\n+    if (requiredSignatures.toString() !== numberOfCollectedSignatures.toString()) {\n+      throw new IncompatibleContractError('The number of collected signatures does not match')\n+    }\n+","path":"src/events/processCollectedSignatures/estimateGas.js","position":33,"original_position":33,"commit_id":"c4b2c5aa9a8eb9b4deed9f9491fa01df107a8f6a","original_commit_id":"c4b2c5aa9a8eb9b4deed9f9491fa01df107a8f6a","user":{"login":"akolotov","id":20793260,"node_id":"MDQ6VXNlcjIwNzkzMjYw","avatar_url":"https://avatars2.githubusercontent.com/u/20793260?v=4","gravatar_id":"","url":"https://api.github.com/users/akolotov","html_url":"https://github.com/akolotov","followers_url":"https://api.github.com/users/akolotov/followers","following_url":"https://api.github.com/users/akolotov/following{/other_user}","gists_url":"https://api.github.com/users/akolotov/gists{/gist_id}","starred_url":"https://api.github.com/users/akolotov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akolotov/subscriptions","organizations_url":"https://api.github.com/users/akolotov/orgs","repos_url":"https://api.github.com/users/akolotov/repos","events_url":"https://api.github.com/users/akolotov/events{/privacy}","received_events_url":"https://api.github.com/users/akolotov/received_events","type":"User","site_admin":false},"body":"Yes, at least in the nearest future (release of `native-to-erc`, `erc-to-erc` and `erc-to-native`) we will not change contracts a lot.","created_at":"2018-09-18T15:44:50Z","updated_at":"2018-09-18T15:44:50Z","html_url":"https://github.com/poanetwork/bridge-nodejs/pull/71#discussion_r218487908","pull_request_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/pulls/71","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/poanetwork/bridge-nodejs/pulls/comments/218487908"},"html":{"href":"https://github.com/poanetwork/bridge-nodejs/pull/71#discussion_r218487908"},"pull_request":{"href":"https://api.github.com/repos/poanetwork/bridge-nodejs/pulls/71"}},"in_reply_to_id":218126534},"pull_request":{"url":"https://api.github.com/repos/poanetwork/bridge-nodejs/pulls/71","id":210165945,"node_id":"MDExOlB1bGxSZXF1ZXN0MjEwMTY1OTQ1","html_url":"https://github.com/poanetwork/bridge-nodejs/pull/71","diff_url":"https://github.com/poanetwork/bridge-nodejs/pull/71.diff","patch_url":"https://github.com/poanetwork/bridge-nodejs/pull/71.patch","issue_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/issues/71","number":71,"state":"open","locked":false,"title":"Enhance check for duplicated transactions handling","user":{"login":"fvictorio","id":417134,"node_id":"MDQ6VXNlcjQxNzEzNA==","avatar_url":"https://avatars1.githubusercontent.com/u/417134?v=4","gravatar_id":"","url":"https://api.github.com/users/fvictorio","html_url":"https://github.com/fvictorio","followers_url":"https://api.github.com/users/fvictorio/followers","following_url":"https://api.github.com/users/fvictorio/following{/other_user}","gists_url":"https://api.github.com/users/fvictorio/gists{/gist_id}","starred_url":"https://api.github.com/users/fvictorio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fvictorio/subscriptions","organizations_url":"https://api.github.com/users/fvictorio/orgs","repos_url":"https://api.github.com/users/fvictorio/repos","events_url":"https://api.github.com/users/fvictorio/events{/privacy}","received_events_url":"https://api.github.com/users/fvictorio/received_events","type":"User","site_admin":false},"body":"This is an initial proposal on how to do #24. I added some custom errors so that the `processSignatureRequests` function knows why the gas estimation failed without having to parse the error messages.\r\n\r\nSome things to notice here:\r\n\r\n- I upgraded `http-list-provider`. The latest version throws a custom error so that we know if the gas estimation failed because of a connection error or a transaction error. You can see the change [here](https://github.com/fvictorio/http-list-provider/pull/1).\r\n- I added two custom errors: `InvalidValidator` and `AlreadyProcessed`. Right now it throws `AlreadyProcessed` if the error was not caused by the provider and if it wasn't a problem with the validator. The goal is to make smarter checks.\r\n- This is only done for `processSignatureRequests`, but something similar should be done in the other `process*` functions, avoiding as much duplication as possible. I only did it in one function to make sure that we all are OK this approach.\r\n\r\nLet me know if you think this could work.","created_at":"2018-08-22T15:04:00Z","updated_at":"2018-09-18T15:44:50Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0968d3861c4d99fa8132d110cd74c4bcba862298","assignee":{"login":"fvictorio","id":417134,"node_id":"MDQ6VXNlcjQxNzEzNA==","avatar_url":"https://avatars1.githubusercontent.com/u/417134?v=4","gravatar_id":"","url":"https://api.github.com/users/fvictorio","html_url":"https://github.com/fvictorio","followers_url":"https://api.github.com/users/fvictorio/followers","following_url":"https://api.github.com/users/fvictorio/following{/other_user}","gists_url":"https://api.github.com/users/fvictorio/gists{/gist_id}","starred_url":"https://api.github.com/users/fvictorio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fvictorio/subscriptions","organizations_url":"https://api.github.com/users/fvictorio/orgs","repos_url":"https://api.github.com/users/fvictorio/repos","events_url":"https://api.github.com/users/fvictorio/events{/privacy}","received_events_url":"https://api.github.com/users/fvictorio/received_events","type":"User","site_admin":false},"assignees":[{"login":"fvictorio","id":417134,"node_id":"MDQ6VXNlcjQxNzEzNA==","avatar_url":"https://avatars1.githubusercontent.com/u/417134?v=4","gravatar_id":"","url":"https://api.github.com/users/fvictorio","html_url":"https://github.com/fvictorio","followers_url":"https://api.github.com/users/fvictorio/followers","following_url":"https://api.github.com/users/fvictorio/following{/other_user}","gists_url":"https://api.github.com/users/fvictorio/gists{/gist_id}","starred_url":"https://api.github.com/users/fvictorio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fvictorio/subscriptions","organizations_url":"https://api.github.com/users/fvictorio/orgs","repos_url":"https://api.github.com/users/fvictorio/repos","events_url":"https://api.github.com/users/fvictorio/events{/privacy}","received_events_url":"https://api.github.com/users/fvictorio/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"rstormsf","id":9360827,"node_id":"MDQ6VXNlcjkzNjA4Mjc=","avatar_url":"https://avatars3.githubusercontent.com/u/9360827?v=4","gravatar_id":"","url":"https://api.github.com/users/rstormsf","html_url":"https://github.com/rstormsf","followers_url":"https://api.github.com/users/rstormsf/followers","following_url":"https://api.github.com/users/rstormsf/following{/other_user}","gists_url":"https://api.github.com/users/rstormsf/gists{/gist_id}","starred_url":"https://api.github.com/users/rstormsf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rstormsf/subscriptions","organizations_url":"https://api.github.com/users/rstormsf/orgs","repos_url":"https://api.github.com/users/rstormsf/repos","events_url":"https://api.github.com/users/rstormsf/events{/privacy}","received_events_url":"https://api.github.com/users/rstormsf/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":942673264,"node_id":"MDU6TGFiZWw5NDI2NzMyNjQ=","url":"https://api.github.com/repos/poanetwork/bridge-nodejs/labels/review","name":"review","color":"ededed","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/pulls/71/commits","review_comments_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/pulls/71/comments","review_comment_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/issues/71/comments","statuses_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/statuses/c4b2c5aa9a8eb9b4deed9f9491fa01df107a8f6a","head":{"label":"poanetwork:24-enhance-check-for-duplicated-transactions-handling","ref":"24-enhance-check-for-duplicated-transactions-handling","sha":"c4b2c5aa9a8eb9b4deed9f9491fa01df107a8f6a","user":{"login":"poanetwork","id":28943015,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4OTQzMDE1","avatar_url":"https://avatars2.githubusercontent.com/u/28943015?v=4","gravatar_id":"","url":"https://api.github.com/users/poanetwork","html_url":"https://github.com/poanetwork","followers_url":"https://api.github.com/users/poanetwork/followers","following_url":"https://api.github.com/users/poanetwork/following{/other_user}","gists_url":"https://api.github.com/users/poanetwork/gists{/gist_id}","starred_url":"https://api.github.com/users/poanetwork/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/poanetwork/subscriptions","organizations_url":"https://api.github.com/users/poanetwork/orgs","repos_url":"https://api.github.com/users/poanetwork/repos","events_url":"https://api.github.com/users/poanetwork/events{/privacy}","received_events_url":"https://api.github.com/users/poanetwork/received_events","type":"Organization","site_admin":false},"repo":{"id":133978513,"node_id":"MDEwOlJlcG9zaXRvcnkxMzM5Nzg1MTM=","name":"bridge-nodejs","full_name":"poanetwork/bridge-nodejs","private":false,"owner":{"login":"poanetwork","id":28943015,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4OTQzMDE1","avatar_url":"https://avatars2.githubusercontent.com/u/28943015?v=4","gravatar_id":"","url":"https://api.github.com/users/poanetwork","html_url":"https://github.com/poanetwork","followers_url":"https://api.github.com/users/poanetwork/followers","following_url":"https://api.github.com/users/poanetwork/following{/other_user}","gists_url":"https://api.github.com/users/poanetwork/gists{/gist_id}","starred_url":"https://api.github.com/users/poanetwork/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/poanetwork/subscriptions","organizations_url":"https://api.github.com/users/poanetwork/orgs","repos_url":"https://api.github.com/users/poanetwork/repos","events_url":"https://api.github.com/users/poanetwork/events{/privacy}","received_events_url":"https://api.github.com/users/poanetwork/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/poanetwork/bridge-nodejs","description":"POA Bridge in NodeJS, an interoperability solution between Ethereum networks for native to ERC20 and ERC20 to ERC20 cross chain transfers","fork":false,"url":"https://api.github.com/repos/poanetwork/bridge-nodejs","forks_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/forks","keys_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/teams","hooks_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/hooks","issue_events_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/issues/events{/number}","events_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/events","assignees_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/assignees{/user}","branches_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/branches{/branch}","tags_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/tags","blobs_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/git/refs{/sha}","trees_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/statuses/{sha}","languages_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/languages","stargazers_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/stargazers","contributors_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/contributors","subscribers_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/subscribers","subscription_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/subscription","commits_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/commits{/sha}","git_commits_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/git/commits{/sha}","comments_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/comments{/number}","issue_comment_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/issues/comments{/number}","contents_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/contents/{+path}","compare_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/merges","archive_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/downloads","issues_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/issues{/number}","pulls_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/pulls{/number}","milestones_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/milestones{/number}","notifications_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/labels{/name}","releases_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/releases{/id}","deployments_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/deployments","created_at":"2018-05-18T16:23:18Z","updated_at":"2018-09-17T17:26:43Z","pushed_at":"2018-09-17T17:26:48Z","git_url":"git://github.com/poanetwork/bridge-nodejs.git","ssh_url":"git@github.com:poanetwork/bridge-nodejs.git","clone_url":"https://github.com/poanetwork/bridge-nodejs.git","svn_url":"https://github.com/poanetwork/bridge-nodejs","homepage":"","size":470,"stargazers_count":11,"watchers_count":11,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":9,"mirror_url":null,"archived":false,"open_issues_count":17,"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":9,"open_issues":17,"watchers":11,"default_branch":"develop"}},"base":{"label":"poanetwork:develop","ref":"develop","sha":"2e7de0165f3e2d21d35ff5c7661d4c129b3ed859","user":{"login":"poanetwork","id":28943015,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4OTQzMDE1","avatar_url":"https://avatars2.githubusercontent.com/u/28943015?v=4","gravatar_id":"","url":"https://api.github.com/users/poanetwork","html_url":"https://github.com/poanetwork","followers_url":"https://api.github.com/users/poanetwork/followers","following_url":"https://api.github.com/users/poanetwork/following{/other_user}","gists_url":"https://api.github.com/users/poanetwork/gists{/gist_id}","starred_url":"https://api.github.com/users/poanetwork/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/poanetwork/subscriptions","organizations_url":"https://api.github.com/users/poanetwork/orgs","repos_url":"https://api.github.com/users/poanetwork/repos","events_url":"https://api.github.com/users/poanetwork/events{/privacy}","received_events_url":"https://api.github.com/users/poanetwork/received_events","type":"Organization","site_admin":false},"repo":{"id":133978513,"node_id":"MDEwOlJlcG9zaXRvcnkxMzM5Nzg1MTM=","name":"bridge-nodejs","full_name":"poanetwork/bridge-nodejs","private":false,"owner":{"login":"poanetwork","id":28943015,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4OTQzMDE1","avatar_url":"https://avatars2.githubusercontent.com/u/28943015?v=4","gravatar_id":"","url":"https://api.github.com/users/poanetwork","html_url":"https://github.com/poanetwork","followers_url":"https://api.github.com/users/poanetwork/followers","following_url":"https://api.github.com/users/poanetwork/following{/other_user}","gists_url":"https://api.github.com/users/poanetwork/gists{/gist_id}","starred_url":"https://api.github.com/users/poanetwork/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/poanetwork/subscriptions","organizations_url":"https://api.github.com/users/poanetwork/orgs","repos_url":"https://api.github.com/users/poanetwork/repos","events_url":"https://api.github.com/users/poanetwork/events{/privacy}","received_events_url":"https://api.github.com/users/poanetwork/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/poanetwork/bridge-nodejs","description":"POA Bridge in NodeJS, an interoperability solution between Ethereum networks for native to ERC20 and ERC20 to ERC20 cross chain transfers","fork":false,"url":"https://api.github.com/repos/poanetwork/bridge-nodejs","forks_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/forks","keys_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/teams","hooks_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/hooks","issue_events_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/issues/events{/number}","events_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/events","assignees_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/assignees{/user}","branches_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/branches{/branch}","tags_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/tags","blobs_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/git/refs{/sha}","trees_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/statuses/{sha}","languages_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/languages","stargazers_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/stargazers","contributors_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/contributors","subscribers_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/subscribers","subscription_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/subscription","commits_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/commits{/sha}","git_commits_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/git/commits{/sha}","comments_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/comments{/number}","issue_comment_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/issues/comments{/number}","contents_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/contents/{+path}","compare_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/merges","archive_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/downloads","issues_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/issues{/number}","pulls_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/pulls{/number}","milestones_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/milestones{/number}","notifications_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/labels{/name}","releases_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/releases{/id}","deployments_url":"https://api.github.com/repos/poanetwork/bridge-nodejs/deployments","created_at":"2018-05-18T16:23:18Z","updated_at":"2018-09-17T17:26:43Z","pushed_at":"2018-09-17T17:26:48Z","git_url":"git://github.com/poanetwork/bridge-nodejs.git","ssh_url":"git@github.com:poanetwork/bridge-nodejs.git","clone_url":"https://github.com/poanetwork/bridge-nodejs.git","svn_url":"https://github.com/poanetwork/bridge-nodejs","homepage":"","size":470,"stargazers_count":11,"watchers_count":11,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":9,"mirror_url":null,"archived":false,"open_issues_count":17,"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":9,"open_issues":17,"watchers":11,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/poanetwork/bridge-nodejs/pulls/71"},"html":{"href":"https://github.com/poanetwork/bridge-nodejs/pull/71"},"issue":{"href":"https://api.github.com/repos/poanetwork/bridge-nodejs/issues/71"},"comments":{"href":"https://api.github.com/repos/poanetwork/bridge-nodejs/issues/71/comments"},"review_comments":{"href":"https://api.github.com/repos/poanetwork/bridge-nodejs/pulls/71/comments"},"review_comment":{"href":"https://api.github.com/repos/poanetwork/bridge-nodejs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/poanetwork/bridge-nodejs/pulls/71/commits"},"statuses":{"href":"https://api.github.com/repos/poanetwork/bridge-nodejs/statuses/c4b2c5aa9a8eb9b4deed9f9491fa01df107a8f6a"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"akolotov"}}