{"action":"created","comment":{"url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/pulls/comments/210733067","pull_request_review_id":147012703,"id":210733067,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxMDczMzA2Nw==","diff_hunk":"@@ -0,0 +1,111 @@\n+pragma solidity ^0.4.24;\n+\n+\n+/**\n+ * @title ERC165Checker\n+ * @dev Use `using ERC165Checker for address`; to include this library\n+ *      https://github.com/ethereum/EIPs/blob/master/EIPS/eip-165.md\n+ */\n+library ERC165Checker {\n+  // As per the EIP-165 spec, no interface should ever match 0xffffffff\n+  bytes4 private constant InterfaceId_Invalid = 0xffffffff;\n+\n+  bytes4 private constant InterfaceId_ERC165 = 0x01ffc9a7;\n+  /**\n+   * 0x01ffc9a7 ===\n+   *   bytes4(keccak256('supportsInterface(bytes4)'))\n+   */\n+\n+  /**\n+   * @notice Query if a contract implements an interface, does not check ERC165 support\n+   * @param _address The address of the contract to query for support of an interface\n+   * @param _interfaceId The interface identifier, as specified in ERC-165\n+   * @return true if the contract at _address indicates support of the interface with\n+   * identifier _interfaceId, false otherwise\n+   * @dev Assumes that _address contains a contract that supports ERC165, otherwise\n+   *      the behavior of this method is undefined. This precondition can be checked \n+   *      with the `supportsERC165` method in this library. \n+   *      Interface identification is specified in ERC-165.\n+   */\n+  function supportsERC165Interface(address _address, bytes4 _interfaceId)\n+    internal","path":"contracts/introspection/ERC165Checker.sol","position":31,"original_position":31,"commit_id":"1ec887e9453b5b1749842a3fa1776e7c721cc56f","original_commit_id":"1ec887e9453b5b1749842a3fa1776e7c721cc56f","user":{"login":"frangio","id":481465,"node_id":"MDQ6VXNlcjQ4MTQ2NQ==","avatar_url":"https://avatars1.githubusercontent.com/u/481465?v=4","gravatar_id":"","url":"https://api.github.com/users/frangio","html_url":"https://github.com/frangio","followers_url":"https://api.github.com/users/frangio/followers","following_url":"https://api.github.com/users/frangio/following{/other_user}","gists_url":"https://api.github.com/users/frangio/gists{/gist_id}","starred_url":"https://api.github.com/users/frangio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frangio/subscriptions","organizations_url":"https://api.github.com/users/frangio/orgs","repos_url":"https://api.github.com/users/frangio/repos","events_url":"https://api.github.com/users/frangio/events{/privacy}","received_events_url":"https://api.github.com/users/frangio/received_events","type":"User","site_admin":false},"body":"This function should be `private` IMO, because it should never be used before also checking `supportsERC165`.","created_at":"2018-08-16T20:34:55Z","updated_at":"2018-08-16T20:35:13Z","html_url":"https://github.com/OpenZeppelin/openzeppelin-solidity/pull/1086#discussion_r210733067","pull_request_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/pulls/1086","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/pulls/comments/210733067"},"html":{"href":"https://github.com/OpenZeppelin/openzeppelin-solidity/pull/1086#discussion_r210733067"},"pull_request":{"href":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/pulls/1086"}}},"pull_request":{"url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/pulls/1086","id":202102607,"node_id":"MDExOlB1bGxSZXF1ZXN0MjAyMTAyNjA3","html_url":"https://github.com/OpenZeppelin/openzeppelin-solidity/pull/1086","diff_url":"https://github.com/OpenZeppelin/openzeppelin-solidity/pull/1086.diff","patch_url":"https://github.com/OpenZeppelin/openzeppelin-solidity/pull/1086.patch","issue_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/issues/1086","number":1086,"state":"open","locked":false,"title":"Add ERC165Query library","user":{"login":"ldub","id":3114081,"node_id":"MDQ6VXNlcjMxMTQwODE=","avatar_url":"https://avatars0.githubusercontent.com/u/3114081?v=4","gravatar_id":"","url":"https://api.github.com/users/ldub","html_url":"https://github.com/ldub","followers_url":"https://api.github.com/users/ldub/followers","following_url":"https://api.github.com/users/ldub/following{/other_user}","gists_url":"https://api.github.com/users/ldub/gists{/gist_id}","starred_url":"https://api.github.com/users/ldub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ldub/subscriptions","organizations_url":"https://api.github.com/users/ldub/orgs","repos_url":"https://api.github.com/users/ldub/repos","events_url":"https://api.github.com/users/ldub/events{/privacy}","received_events_url":"https://api.github.com/users/ldub/received_events","type":"User","site_admin":false},"body":"# 🚀 Description\r\n\r\nThe ERC165 spec contains useful code for calling the supportsInterface function on an unknown contract. I use this code and I expect many others need to use this as well. It would be helpful to have it available in OpenZeppelin. \r\n\r\n<!-- 2. Describe the changes introduced in this pull request -->\r\n\r\nI have added the example code from [the spec](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-165.md) to OpenZeppelin.\r\n\r\nModifications:\r\n- changed to a library instead of contract\r\n- changed constant function to view function\r\n- added natspec comments\r\n- formatted to fix all linter issues\r\n\r\nNotes:\r\n- would you want unit tests for this?\r\n- would you want me to update the pragma for newer solidity version?\r\n- the `security/no-inline-assembly` warning can't be addressed as the spec uses inline assembly  \r\n\r\n<!-- 3. Before submitting, please review the following checklist: -->\r\n\r\n- [x] 📘 I've reviewed the [OpenZeppelin Contributor Guidelines](../blob/master/CONTRIBUTING.md)\r\n- [x] ✅ I've added tests where applicable to test my new functionality.\r\n- [x] 📖 I've made sure that my contracts are well-documented.\r\n- [x] 🎨 I've run the JS/Solidity linters and fixed any issues (`npm run lint:all:fix`).\r\n\r\nFixes #1145\r\n","created_at":"2018-07-17T23:38:54Z","updated_at":"2018-08-16T20:35:13Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e2afe4749bb868361f8aa639f890045b601caaf5","assignee":{"login":"nventuro","id":2530770,"node_id":"MDQ6VXNlcjI1MzA3NzA=","avatar_url":"https://avatars1.githubusercontent.com/u/2530770?v=4","gravatar_id":"","url":"https://api.github.com/users/nventuro","html_url":"https://github.com/nventuro","followers_url":"https://api.github.com/users/nventuro/followers","following_url":"https://api.github.com/users/nventuro/following{/other_user}","gists_url":"https://api.github.com/users/nventuro/gists{/gist_id}","starred_url":"https://api.github.com/users/nventuro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nventuro/subscriptions","organizations_url":"https://api.github.com/users/nventuro/orgs","repos_url":"https://api.github.com/users/nventuro/repos","events_url":"https://api.github.com/users/nventuro/events{/privacy}","received_events_url":"https://api.github.com/users/nventuro/received_events","type":"User","site_admin":false},"assignees":[{"login":"nventuro","id":2530770,"node_id":"MDQ6VXNlcjI1MzA3NzA=","avatar_url":"https://avatars1.githubusercontent.com/u/2530770?v=4","gravatar_id":"","url":"https://api.github.com/users/nventuro","html_url":"https://github.com/nventuro","followers_url":"https://api.github.com/users/nventuro/followers","following_url":"https://api.github.com/users/nventuro/following{/other_user}","gists_url":"https://api.github.com/users/nventuro/gists{/gist_id}","starred_url":"https://api.github.com/users/nventuro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nventuro/subscriptions","organizations_url":"https://api.github.com/users/nventuro/orgs","repos_url":"https://api.github.com/users/nventuro/repos","events_url":"https://api.github.com/users/nventuro/events{/privacy}","received_events_url":"https://api.github.com/users/nventuro/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":1000207718,"node_id":"MDU6TGFiZWwxMDAwMjA3NzE4","url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/labels/area:contracts","name":"area:contracts","color":"1d76db","default":false},{"id":503650860,"node_id":"MDU6TGFiZWw1MDM2NTA4NjA=","url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/labels/kind:feature","name":"kind:feature","color":"b9db64","default":false}],"milestone":{"url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/milestones/3","html_url":"https://github.com/OpenZeppelin/openzeppelin-solidity/milestone/3","labels_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/milestones/3/labels","id":3479517,"node_id":"MDk6TWlsZXN0b25lMzQ3OTUxNw==","number":3,"title":"v2.0","description":"Stable API","creator":{"login":"frangio","id":481465,"node_id":"MDQ6VXNlcjQ4MTQ2NQ==","avatar_url":"https://avatars1.githubusercontent.com/u/481465?v=4","gravatar_id":"","url":"https://api.github.com/users/frangio","html_url":"https://github.com/frangio","followers_url":"https://api.github.com/users/frangio/followers","following_url":"https://api.github.com/users/frangio/following{/other_user}","gists_url":"https://api.github.com/users/frangio/gists{/gist_id}","starred_url":"https://api.github.com/users/frangio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frangio/subscriptions","organizations_url":"https://api.github.com/users/frangio/orgs","repos_url":"https://api.github.com/users/frangio/repos","events_url":"https://api.github.com/users/frangio/events{/privacy}","received_events_url":"https://api.github.com/users/frangio/received_events","type":"User","site_admin":false},"open_issues":28,"closed_issues":25,"state":"open","created_at":"2018-07-06T21:03:31Z","updated_at":"2018-08-16T17:31:10Z","due_on":"2018-09-01T07:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/pulls/1086/commits","review_comments_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/pulls/1086/comments","review_comment_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/pulls/comments{/number}","comments_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/issues/1086/comments","statuses_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/statuses/1ec887e9453b5b1749842a3fa1776e7c721cc56f","head":{"label":"ldub:add_erc165_library","ref":"add_erc165_library","sha":"1ec887e9453b5b1749842a3fa1776e7c721cc56f","user":{"login":"ldub","id":3114081,"node_id":"MDQ6VXNlcjMxMTQwODE=","avatar_url":"https://avatars0.githubusercontent.com/u/3114081?v=4","gravatar_id":"","url":"https://api.github.com/users/ldub","html_url":"https://github.com/ldub","followers_url":"https://api.github.com/users/ldub/followers","following_url":"https://api.github.com/users/ldub/following{/other_user}","gists_url":"https://api.github.com/users/ldub/gists{/gist_id}","starred_url":"https://api.github.com/users/ldub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ldub/subscriptions","organizations_url":"https://api.github.com/users/ldub/orgs","repos_url":"https://api.github.com/users/ldub/repos","events_url":"https://api.github.com/users/ldub/events{/privacy}","received_events_url":"https://api.github.com/users/ldub/received_events","type":"User","site_admin":false},"repo":{"id":141352658,"node_id":"MDEwOlJlcG9zaXRvcnkxNDEzNTI2NTg=","name":"openzeppelin-solidity","full_name":"ldub/openzeppelin-solidity","owner":{"login":"ldub","id":3114081,"node_id":"MDQ6VXNlcjMxMTQwODE=","avatar_url":"https://avatars0.githubusercontent.com/u/3114081?v=4","gravatar_id":"","url":"https://api.github.com/users/ldub","html_url":"https://github.com/ldub","followers_url":"https://api.github.com/users/ldub/followers","following_url":"https://api.github.com/users/ldub/following{/other_user}","gists_url":"https://api.github.com/users/ldub/gists{/gist_id}","starred_url":"https://api.github.com/users/ldub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ldub/subscriptions","organizations_url":"https://api.github.com/users/ldub/orgs","repos_url":"https://api.github.com/users/ldub/repos","events_url":"https://api.github.com/users/ldub/events{/privacy}","received_events_url":"https://api.github.com/users/ldub/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ldub/openzeppelin-solidity","description":"OpenZeppelin, a framework to build secure smart contracts on Ethereum","fork":true,"url":"https://api.github.com/repos/ldub/openzeppelin-solidity","forks_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/forks","keys_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/teams","hooks_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/hooks","issue_events_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/issues/events{/number}","events_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/events","assignees_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/assignees{/user}","branches_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/branches{/branch}","tags_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/tags","blobs_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/git/refs{/sha}","trees_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/statuses/{sha}","languages_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/languages","stargazers_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/stargazers","contributors_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/contributors","subscribers_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/subscribers","subscription_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/subscription","commits_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/commits{/sha}","git_commits_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/git/commits{/sha}","comments_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/comments{/number}","issue_comment_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/issues/comments{/number}","contents_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/contents/{+path}","compare_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/merges","archive_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/downloads","issues_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/issues{/number}","pulls_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/pulls{/number}","milestones_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/milestones{/number}","notifications_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/labels{/name}","releases_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/releases{/id}","deployments_url":"https://api.github.com/repos/ldub/openzeppelin-solidity/deployments","created_at":"2018-07-17T22:40:39Z","updated_at":"2018-07-17T22:40:42Z","pushed_at":"2018-08-15T21:43:46Z","git_url":"git://github.com/ldub/openzeppelin-solidity.git","ssh_url":"git@github.com:ldub/openzeppelin-solidity.git","clone_url":"https://github.com/ldub/openzeppelin-solidity.git","svn_url":"https://github.com/ldub/openzeppelin-solidity","homepage":"https://openzeppelin.org","size":1880,"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":null,"archived":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"OpenZeppelin:master","ref":"master","sha":"99e4b081dcef5289898736db8490acb884756fdd","user":{"login":"OpenZeppelin","id":20820676,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIwODIwNjc2","avatar_url":"https://avatars3.githubusercontent.com/u/20820676?v=4","gravatar_id":"","url":"https://api.github.com/users/OpenZeppelin","html_url":"https://github.com/OpenZeppelin","followers_url":"https://api.github.com/users/OpenZeppelin/followers","following_url":"https://api.github.com/users/OpenZeppelin/following{/other_user}","gists_url":"https://api.github.com/users/OpenZeppelin/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenZeppelin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenZeppelin/subscriptions","organizations_url":"https://api.github.com/users/OpenZeppelin/orgs","repos_url":"https://api.github.com/users/OpenZeppelin/repos","events_url":"https://api.github.com/users/OpenZeppelin/events{/privacy}","received_events_url":"https://api.github.com/users/OpenZeppelin/received_events","type":"Organization","site_admin":false},"repo":{"id":64700934,"node_id":"MDEwOlJlcG9zaXRvcnk2NDcwMDkzNA==","name":"openzeppelin-solidity","full_name":"OpenZeppelin/openzeppelin-solidity","owner":{"login":"OpenZeppelin","id":20820676,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIwODIwNjc2","avatar_url":"https://avatars3.githubusercontent.com/u/20820676?v=4","gravatar_id":"","url":"https://api.github.com/users/OpenZeppelin","html_url":"https://github.com/OpenZeppelin","followers_url":"https://api.github.com/users/OpenZeppelin/followers","following_url":"https://api.github.com/users/OpenZeppelin/following{/other_user}","gists_url":"https://api.github.com/users/OpenZeppelin/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenZeppelin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenZeppelin/subscriptions","organizations_url":"https://api.github.com/users/OpenZeppelin/orgs","repos_url":"https://api.github.com/users/OpenZeppelin/repos","events_url":"https://api.github.com/users/OpenZeppelin/events{/privacy}","received_events_url":"https://api.github.com/users/OpenZeppelin/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/OpenZeppelin/openzeppelin-solidity","description":"OpenZeppelin, a framework to build secure smart contracts on Ethereum","fork":false,"url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity","forks_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/forks","keys_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/keys{/key_id}","collaborators_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/teams","hooks_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/hooks","issue_events_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/issues/events{/number}","events_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/events","assignees_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/assignees{/user}","branches_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/branches{/branch}","tags_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/tags","blobs_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/git/refs{/sha}","trees_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/git/trees{/sha}","statuses_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/statuses/{sha}","languages_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/languages","stargazers_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/stargazers","contributors_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/contributors","subscribers_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/subscribers","subscription_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/subscription","commits_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/commits{/sha}","git_commits_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/git/commits{/sha}","comments_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/comments{/number}","issue_comment_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/issues/comments{/number}","contents_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/contents/{+path}","compare_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/compare/{base}...{head}","merges_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/merges","archive_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/downloads","issues_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/issues{/number}","pulls_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/pulls{/number}","milestones_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/milestones{/number}","notifications_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/labels{/name}","releases_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/releases{/id}","deployments_url":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/deployments","created_at":"2016-08-01T20:54:54Z","updated_at":"2018-08-16T18:53:46Z","pushed_at":"2018-08-16T17:31:10Z","git_url":"git://github.com/OpenZeppelin/openzeppelin-solidity.git","ssh_url":"git@github.com:OpenZeppelin/openzeppelin-solidity.git","clone_url":"https://github.com/OpenZeppelin/openzeppelin-solidity.git","svn_url":"https://github.com/OpenZeppelin/openzeppelin-solidity","homepage":"https://openzeppelin.org","size":2082,"stargazers_count":5654,"watchers_count":5654,"language":"JavaScript","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1894,"mirror_url":null,"archived":false,"open_issues_count":191,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":1894,"open_issues":191,"watchers":5654,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/pulls/1086"},"html":{"href":"https://github.com/OpenZeppelin/openzeppelin-solidity/pull/1086"},"issue":{"href":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/issues/1086"},"comments":{"href":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/issues/1086/comments"},"review_comments":{"href":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/pulls/1086/comments"},"review_comment":{"href":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/pulls/1086/commits"},"statuses":{"href":"https://api.github.com/repos/OpenZeppelin/openzeppelin-solidity/statuses/1ec887e9453b5b1749842a3fa1776e7c721cc56f"}},"author_association":"NONE"}}
{"actor":{"display_login":"frangio"}}