{"action":"created","comment":{"url":"https://api.github.com/repos/cosmos/cosmos-sdk/pulls/comments/349562685","pull_request_review_id":321500945,"id":349562685,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDM0OTU2MjY4NQ==","diff_hunk":"@@ -6,6 +6,7 @@ import (\n \t\"testing\"\n \n \t\"github.com/spf13/viper\"\n+\t\"github.com/stretchr/testify/assert\"","path":"client/keys/add_ledger_test.go","position":4,"original_position":4,"commit_id":"de4a6128c679b9ef5624736ec5458f7d46d2bfcd","original_commit_id":"de4a6128c679b9ef5624736ec5458f7d46d2bfcd","user":{"login":"fedekunze","id":31522760,"node_id":"MDQ6VXNlcjMxNTIyNzYw","avatar_url":"https://avatars0.githubusercontent.com/u/31522760?v=4","gravatar_id":"","url":"https://api.github.com/users/fedekunze","html_url":"https://github.com/fedekunze","followers_url":"https://api.github.com/users/fedekunze/followers","following_url":"https://api.github.com/users/fedekunze/following{/other_user}","gists_url":"https://api.github.com/users/fedekunze/gists{/gist_id}","starred_url":"https://api.github.com/users/fedekunze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fedekunze/subscriptions","organizations_url":"https://api.github.com/users/fedekunze/orgs","repos_url":"https://api.github.com/users/fedekunze/repos","events_url":"https://api.github.com/users/fedekunze/events{/privacy}","received_events_url":"https://api.github.com/users/fedekunze/received_events","type":"User","site_admin":false},"body":"```suggestion\r\n```","created_at":"2019-11-22T12:00:04Z","updated_at":"2019-11-22T12:14:44Z","html_url":"https://github.com/cosmos/cosmos-sdk/pull/5278#discussion_r349562685","pull_request_url":"https://api.github.com/repos/cosmos/cosmos-sdk/pulls/5278","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/cosmos/cosmos-sdk/pulls/comments/349562685"},"html":{"href":"https://github.com/cosmos/cosmos-sdk/pull/5278#discussion_r349562685"},"pull_request":{"href":"https://api.github.com/repos/cosmos/cosmos-sdk/pulls/5278"}}},"pull_request":{"url":"https://api.github.com/repos/cosmos/cosmos-sdk/pulls/5278","id":336954796,"node_id":"MDExOlB1bGxSZXF1ZXN0MzM2OTU0Nzk2","html_url":"https://github.com/cosmos/cosmos-sdk/pull/5278","diff_url":"https://github.com/cosmos/cosmos-sdk/pull/5278.diff","patch_url":"https://github.com/cosmos/cosmos-sdk/pull/5278.patch","issue_url":"https://api.github.com/repos/cosmos/cosmos-sdk/issues/5278","number":5278,"state":"open","locked":false,"title":"Interchangable PrivKey implementations in keybase","user":{"login":"austinabell","id":24993711,"node_id":"MDQ6VXNlcjI0OTkzNzEx","avatar_url":"https://avatars0.githubusercontent.com/u/24993711?v=4","gravatar_id":"","url":"https://api.github.com/users/austinabell","html_url":"https://github.com/austinabell","followers_url":"https://api.github.com/users/austinabell/followers","following_url":"https://api.github.com/users/austinabell/following{/other_user}","gists_url":"https://api.github.com/users/austinabell/gists{/gist_id}","starred_url":"https://api.github.com/users/austinabell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/austinabell/subscriptions","organizations_url":"https://api.github.com/users/austinabell/orgs","repos_url":"https://api.github.com/users/austinabell/repos","events_url":"https://api.github.com/users/austinabell/events{/privacy}","received_events_url":"https://api.github.com/users/austinabell/received_events","type":"User","site_admin":false},"body":"<!-- < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < ☺\r\nv                               ✰  Thanks for creating a PR! ✰    \r\nv    Before smashing the submit button please review the checkboxes.\r\nv    If a checkbox is n/a - please still include it but + a little note why\r\n☺ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >  -->\r\n\r\ncloses: #4941 \r\n\r\nThis PR allows for the keybase to be configured to override the implementation of the key that is saved to the keybase. I made this PR to be non-breaking changes and as unintrusive as possible, but can structure it differently or suggest different ways of going about this if you are open to these kinds of changes.\r\n\r\nSummary of what this changes:\r\n- Allows for keybase options to be passed into initializing each type of keybase, where the only option included now is to be able to override the key type that is saved to the keybase\r\n  - Changes mainly around this function: [here](https://github.com/cosmos/cosmos-sdk/compare/master...ChainSafe:austin/kbsigning?expand=1#diff-317b6cdeb37f9513609b8e3b24e63e32R65) and the function gets defaulted if not provided.\r\n  - I used this pattern because I personally think it's better than using the .With<X> overrides, but I have noticed you guys use that one and I can change it if wanted\r\n- Exposes the keys commands individually, because an application that wants to override the add command cannot use the bundled keys commands\r\n- Exposes necessary codecs around keys to be able to override them to include the new key implementation types\r\n\r\nThe other part of this is the key signing, which the only change is overriding the codec in Tendermint used for decoding a private key from bytes, change I made was [this](https://github.com/ChainSafe/tendermint/commit/ebe344a40a1c6cfd3c424b7537cfa99d06a675eb). After the key is decoded it simply uses the Sign function of the tendermint PrivKey interface\r\n\r\nLet me know if you guys are open to these changes and I can clean up the PR and do necessary documentation. I will try to think of a better way to modify the codecs being referenced without exposing them publicly.\r\n\r\n[Here](https://github.com/ChainSafe/ethermint/blob/f316e23f2e101d1753b4effb8e4ab194345bf235/cmd/emintcli/keys.go) is an example of the keys commands being used with the overriden add command to use the keybase options. [Here](https://github.com/ChainSafe/ethermint/blob/f316e23f2e101d1753b4effb8e4ab194345bf235/crypto/secp256k1.go) is the key type that is being saved, and it is usable because it satisfies the tendermint PrivKey interface. [Here is the PR in ethermint](https://github.com/ChainSafe/ethermint/pull/147) that uses these changes but the main utility of these changes is to be able to override the addressing and signing of the existing secp256k1 curve, but does not solve the issue of allowing multiple curves.\r\n\r\n- Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/cosmos-sdk/blob/develop/CONTRIBUTING.md#pr-targeting))\r\n- [x] Linked to github-issue with discussion and accepted design OR link to spec that describes this work.\r\n- [ ] Wrote tests\r\n- [ ] Updated relevant documentation (`docs/`)\r\n- [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`\r\n- [x] Re-reviewed `Files changed` in the github PR explorer\r\n\r\n______\r\n\r\nFor Admin Use:\r\n- Added appropriate labels to PR (ex. wip, ready-for-review, docs)\r\n- Reviewers Assigned\r\n- Squashed all commits, uses message \"Merge pull request #XYZ: [title]\" ([coding standards](https://github.com/tendermint/coding/blob/master/README.md#merging-a-pr))\r\n","created_at":"2019-11-05T19:46:50Z","updated_at":"2019-11-22T12:14:44Z","closed_at":null,"merged_at":null,"merge_commit_sha":"caf32525b894228080e15289c982fe693d0bf2ac","assignee":null,"assignees":[],"requested_reviewers":[{"login":"alessio","id":229356,"node_id":"MDQ6VXNlcjIyOTM1Ng==","avatar_url":"https://avatars1.githubusercontent.com/u/229356?v=4","gravatar_id":"","url":"https://api.github.com/users/alessio","html_url":"https://github.com/alessio","followers_url":"https://api.github.com/users/alessio/followers","following_url":"https://api.github.com/users/alessio/following{/other_user}","gists_url":"https://api.github.com/users/alessio/gists{/gist_id}","starred_url":"https://api.github.com/users/alessio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alessio/subscriptions","organizations_url":"https://api.github.com/users/alessio/orgs","repos_url":"https://api.github.com/users/alessio/repos","events_url":"https://api.github.com/users/alessio/events{/privacy}","received_events_url":"https://api.github.com/users/alessio/received_events","type":"User","site_admin":false},{"login":"alexanderbez","id":5265989,"node_id":"MDQ6VXNlcjUyNjU5ODk=","avatar_url":"https://avatars1.githubusercontent.com/u/5265989?v=4","gravatar_id":"","url":"https://api.github.com/users/alexanderbez","html_url":"https://github.com/alexanderbez","followers_url":"https://api.github.com/users/alexanderbez/followers","following_url":"https://api.github.com/users/alexanderbez/following{/other_user}","gists_url":"https://api.github.com/users/alexanderbez/gists{/gist_id}","starred_url":"https://api.github.com/users/alexanderbez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexanderbez/subscriptions","organizations_url":"https://api.github.com/users/alexanderbez/orgs","repos_url":"https://api.github.com/users/alexanderbez/repos","events_url":"https://api.github.com/users/alexanderbez/events{/privacy}","received_events_url":"https://api.github.com/users/alexanderbez/received_events","type":"User","site_admin":false},{"login":"jackzampolin","id":7452680,"node_id":"MDQ6VXNlcjc0NTI2ODA=","avatar_url":"https://avatars3.githubusercontent.com/u/7452680?v=4","gravatar_id":"","url":"https://api.github.com/users/jackzampolin","html_url":"https://github.com/jackzampolin","followers_url":"https://api.github.com/users/jackzampolin/followers","following_url":"https://api.github.com/users/jackzampolin/following{/other_user}","gists_url":"https://api.github.com/users/jackzampolin/gists{/gist_id}","starred_url":"https://api.github.com/users/jackzampolin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jackzampolin/subscriptions","organizations_url":"https://api.github.com/users/jackzampolin/orgs","repos_url":"https://api.github.com/users/jackzampolin/repos","events_url":"https://api.github.com/users/jackzampolin/events{/privacy}","received_events_url":"https://api.github.com/users/jackzampolin/received_events","type":"User","site_admin":false},{"login":"jleni","id":13698520,"node_id":"MDQ6VXNlcjEzNjk4NTIw","avatar_url":"https://avatars3.githubusercontent.com/u/13698520?v=4","gravatar_id":"","url":"https://api.github.com/users/jleni","html_url":"https://github.com/jleni","followers_url":"https://api.github.com/users/jleni/followers","following_url":"https://api.github.com/users/jleni/following{/other_user}","gists_url":"https://api.github.com/users/jleni/gists{/gist_id}","starred_url":"https://api.github.com/users/jleni/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jleni/subscriptions","organizations_url":"https://api.github.com/users/jleni/orgs","repos_url":"https://api.github.com/users/jleni/repos","events_url":"https://api.github.com/users/jleni/events{/privacy}","received_events_url":"https://api.github.com/users/jleni/received_events","type":"User","site_admin":false},{"login":"rigelrozanski","id":20132176,"node_id":"MDQ6VXNlcjIwMTMyMTc2","avatar_url":"https://avatars1.githubusercontent.com/u/20132176?v=4","gravatar_id":"","url":"https://api.github.com/users/rigelrozanski","html_url":"https://github.com/rigelrozanski","followers_url":"https://api.github.com/users/rigelrozanski/followers","following_url":"https://api.github.com/users/rigelrozanski/following{/other_user}","gists_url":"https://api.github.com/users/rigelrozanski/gists{/gist_id}","starred_url":"https://api.github.com/users/rigelrozanski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rigelrozanski/subscriptions","organizations_url":"https://api.github.com/users/rigelrozanski/orgs","repos_url":"https://api.github.com/users/rigelrozanski/repos","events_url":"https://api.github.com/users/rigelrozanski/events{/privacy}","received_events_url":"https://api.github.com/users/rigelrozanski/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":965477209,"node_id":"MDU6TGFiZWw5NjU0NzcyMDk=","url":"https://api.github.com/repos/cosmos/cosmos-sdk/labels/R4R","name":"R4R","color":"28a745","default":false,"description":"When PR is ready for review!"}],"milestone":null,"commits_url":"https://api.github.com/repos/cosmos/cosmos-sdk/pulls/5278/commits","review_comments_url":"https://api.github.com/repos/cosmos/cosmos-sdk/pulls/5278/comments","review_comment_url":"https://api.github.com/repos/cosmos/cosmos-sdk/pulls/comments{/number}","comments_url":"https://api.github.com/repos/cosmos/cosmos-sdk/issues/5278/comments","statuses_url":"https://api.github.com/repos/cosmos/cosmos-sdk/statuses/de4a6128c679b9ef5624736ec5458f7d46d2bfcd","head":{"label":"ChainSafe:austin/kbsigning","ref":"austin/kbsigning","sha":"de4a6128c679b9ef5624736ec5458f7d46d2bfcd","user":{"login":"ChainSafe","id":27474093,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI3NDc0MDkz","avatar_url":"https://avatars1.githubusercontent.com/u/27474093?v=4","gravatar_id":"","url":"https://api.github.com/users/ChainSafe","html_url":"https://github.com/ChainSafe","followers_url":"https://api.github.com/users/ChainSafe/followers","following_url":"https://api.github.com/users/ChainSafe/following{/other_user}","gists_url":"https://api.github.com/users/ChainSafe/gists{/gist_id}","starred_url":"https://api.github.com/users/ChainSafe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ChainSafe/subscriptions","organizations_url":"https://api.github.com/users/ChainSafe/orgs","repos_url":"https://api.github.com/users/ChainSafe/repos","events_url":"https://api.github.com/users/ChainSafe/events{/privacy}","received_events_url":"https://api.github.com/users/ChainSafe/received_events","type":"Organization","site_admin":false},"repo":{"id":219829031,"node_id":"MDEwOlJlcG9zaXRvcnkyMTk4MjkwMzE=","name":"cosmos-sdk","full_name":"ChainSafe/cosmos-sdk","private":false,"owner":{"login":"ChainSafe","id":27474093,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI3NDc0MDkz","avatar_url":"https://avatars1.githubusercontent.com/u/27474093?v=4","gravatar_id":"","url":"https://api.github.com/users/ChainSafe","html_url":"https://github.com/ChainSafe","followers_url":"https://api.github.com/users/ChainSafe/followers","following_url":"https://api.github.com/users/ChainSafe/following{/other_user}","gists_url":"https://api.github.com/users/ChainSafe/gists{/gist_id}","starred_url":"https://api.github.com/users/ChainSafe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ChainSafe/subscriptions","organizations_url":"https://api.github.com/users/ChainSafe/orgs","repos_url":"https://api.github.com/users/ChainSafe/repos","events_url":"https://api.github.com/users/ChainSafe/events{/privacy}","received_events_url":"https://api.github.com/users/ChainSafe/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/ChainSafe/cosmos-sdk","description":":chains: A Framework for Building High Value Public Blockchains :sparkles:","fork":true,"url":"https://api.github.com/repos/ChainSafe/cosmos-sdk","forks_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/forks","keys_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/teams","hooks_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/hooks","issue_events_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/issues/events{/number}","events_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/events","assignees_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/assignees{/user}","branches_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/branches{/branch}","tags_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/tags","blobs_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/git/refs{/sha}","trees_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/statuses/{sha}","languages_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/languages","stargazers_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/stargazers","contributors_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/contributors","subscribers_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/subscribers","subscription_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/subscription","commits_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/commits{/sha}","git_commits_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/git/commits{/sha}","comments_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/comments{/number}","issue_comment_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/issues/comments{/number}","contents_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/contents/{+path}","compare_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/merges","archive_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/downloads","issues_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/issues{/number}","pulls_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/pulls{/number}","milestones_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/milestones{/number}","notifications_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/labels{/name}","releases_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/releases{/id}","deployments_url":"https://api.github.com/repos/ChainSafe/cosmos-sdk/deployments","created_at":"2019-11-05T19:02:15Z","updated_at":"2019-11-05T19:02:18Z","pushed_at":"2019-11-21T17:10:51Z","git_url":"git://github.com/ChainSafe/cosmos-sdk.git","ssh_url":"git@github.com:ChainSafe/cosmos-sdk.git","clone_url":"https://github.com/ChainSafe/cosmos-sdk.git","svn_url":"https://github.com/ChainSafe/cosmos-sdk","homepage":"https://cosmos.network/","size":54853,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"cosmos:master","ref":"master","sha":"a13909a9ffaafda31c26a104a4fc97efa947f597","user":{"login":"cosmos","id":228843,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIyODg0Mw==","avatar_url":"https://avatars0.githubusercontent.com/u/228843?v=4","gravatar_id":"","url":"https://api.github.com/users/cosmos","html_url":"https://github.com/cosmos","followers_url":"https://api.github.com/users/cosmos/followers","following_url":"https://api.github.com/users/cosmos/following{/other_user}","gists_url":"https://api.github.com/users/cosmos/gists{/gist_id}","starred_url":"https://api.github.com/users/cosmos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cosmos/subscriptions","organizations_url":"https://api.github.com/users/cosmos/orgs","repos_url":"https://api.github.com/users/cosmos/repos","events_url":"https://api.github.com/users/cosmos/events{/privacy}","received_events_url":"https://api.github.com/users/cosmos/received_events","type":"Organization","site_admin":false},"repo":{"id":51193526,"node_id":"MDEwOlJlcG9zaXRvcnk1MTE5MzUyNg==","name":"cosmos-sdk","full_name":"cosmos/cosmos-sdk","private":false,"owner":{"login":"cosmos","id":228843,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIyODg0Mw==","avatar_url":"https://avatars0.githubusercontent.com/u/228843?v=4","gravatar_id":"","url":"https://api.github.com/users/cosmos","html_url":"https://github.com/cosmos","followers_url":"https://api.github.com/users/cosmos/followers","following_url":"https://api.github.com/users/cosmos/following{/other_user}","gists_url":"https://api.github.com/users/cosmos/gists{/gist_id}","starred_url":"https://api.github.com/users/cosmos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cosmos/subscriptions","organizations_url":"https://api.github.com/users/cosmos/orgs","repos_url":"https://api.github.com/users/cosmos/repos","events_url":"https://api.github.com/users/cosmos/events{/privacy}","received_events_url":"https://api.github.com/users/cosmos/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/cosmos/cosmos-sdk","description":":chains: A Framework for Building High Value Public Blockchains :sparkles:","fork":false,"url":"https://api.github.com/repos/cosmos/cosmos-sdk","forks_url":"https://api.github.com/repos/cosmos/cosmos-sdk/forks","keys_url":"https://api.github.com/repos/cosmos/cosmos-sdk/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cosmos/cosmos-sdk/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cosmos/cosmos-sdk/teams","hooks_url":"https://api.github.com/repos/cosmos/cosmos-sdk/hooks","issue_events_url":"https://api.github.com/repos/cosmos/cosmos-sdk/issues/events{/number}","events_url":"https://api.github.com/repos/cosmos/cosmos-sdk/events","assignees_url":"https://api.github.com/repos/cosmos/cosmos-sdk/assignees{/user}","branches_url":"https://api.github.com/repos/cosmos/cosmos-sdk/branches{/branch}","tags_url":"https://api.github.com/repos/cosmos/cosmos-sdk/tags","blobs_url":"https://api.github.com/repos/cosmos/cosmos-sdk/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cosmos/cosmos-sdk/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cosmos/cosmos-sdk/git/refs{/sha}","trees_url":"https://api.github.com/repos/cosmos/cosmos-sdk/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cosmos/cosmos-sdk/statuses/{sha}","languages_url":"https://api.github.com/repos/cosmos/cosmos-sdk/languages","stargazers_url":"https://api.github.com/repos/cosmos/cosmos-sdk/stargazers","contributors_url":"https://api.github.com/repos/cosmos/cosmos-sdk/contributors","subscribers_url":"https://api.github.com/repos/cosmos/cosmos-sdk/subscribers","subscription_url":"https://api.github.com/repos/cosmos/cosmos-sdk/subscription","commits_url":"https://api.github.com/repos/cosmos/cosmos-sdk/commits{/sha}","git_commits_url":"https://api.github.com/repos/cosmos/cosmos-sdk/git/commits{/sha}","comments_url":"https://api.github.com/repos/cosmos/cosmos-sdk/comments{/number}","issue_comment_url":"https://api.github.com/repos/cosmos/cosmos-sdk/issues/comments{/number}","contents_url":"https://api.github.com/repos/cosmos/cosmos-sdk/contents/{+path}","compare_url":"https://api.github.com/repos/cosmos/cosmos-sdk/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cosmos/cosmos-sdk/merges","archive_url":"https://api.github.com/repos/cosmos/cosmos-sdk/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cosmos/cosmos-sdk/downloads","issues_url":"https://api.github.com/repos/cosmos/cosmos-sdk/issues{/number}","pulls_url":"https://api.github.com/repos/cosmos/cosmos-sdk/pulls{/number}","milestones_url":"https://api.github.com/repos/cosmos/cosmos-sdk/milestones{/number}","notifications_url":"https://api.github.com/repos/cosmos/cosmos-sdk/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cosmos/cosmos-sdk/labels{/name}","releases_url":"https://api.github.com/repos/cosmos/cosmos-sdk/releases{/id}","deployments_url":"https://api.github.com/repos/cosmos/cosmos-sdk/deployments","created_at":"2016-02-06T07:15:53Z","updated_at":"2019-11-22T08:12:54Z","pushed_at":"2019-11-22T08:09:31Z","git_url":"git://github.com/cosmos/cosmos-sdk.git","ssh_url":"git@github.com:cosmos/cosmos-sdk.git","clone_url":"https://github.com/cosmos/cosmos-sdk.git","svn_url":"https://github.com/cosmos/cosmos-sdk","homepage":"https://cosmos.network/","size":55295,"stargazers_count":1495,"watchers_count":1495,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":639,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":363,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":639,"open_issues":363,"watchers":1495,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/cosmos/cosmos-sdk/pulls/5278"},"html":{"href":"https://github.com/cosmos/cosmos-sdk/pull/5278"},"issue":{"href":"https://api.github.com/repos/cosmos/cosmos-sdk/issues/5278"},"comments":{"href":"https://api.github.com/repos/cosmos/cosmos-sdk/issues/5278/comments"},"review_comments":{"href":"https://api.github.com/repos/cosmos/cosmos-sdk/pulls/5278/comments"},"review_comment":{"href":"https://api.github.com/repos/cosmos/cosmos-sdk/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/cosmos/cosmos-sdk/pulls/5278/commits"},"statuses":{"href":"https://api.github.com/repos/cosmos/cosmos-sdk/statuses/de4a6128c679b9ef5624736ec5458f7d46d2bfcd"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"fedekunze"}}