{"action":"created","comment":{"url":"https://api.github.com/repos/input-output-hk/cardano-sl/pulls/comments/176442667","pull_request_review_id":106145033,"id":176442667,"diff_hunk":"@@ -195,6 +222,21 @@ instance ( HasServer subApi ctx\n                           return $ toFilterOperations (parseQueryText $ rawQueryString req) (Proxy @params)\n         in route (Proxy :: Proxy subApi) context delayed\n \n+-- | Defines name of @FilterBy syms res@ as sum of @syms@,\n+-- and specifies parameter 'FilterBy' provides.\n+-- Used in e.g. logging.\n+instance (KnownSymbols syms, syms ~ ParamNames res params) => ApiHasArgClass (FilterBy params res) where\n+    type ApiArg (FilterBy params res) = FilterOperations res\n+\n+    apiArgName _ =\n+        let filterNames = mconcat . intersperse \", \" $ symbolVals (Proxy @syms)\n+        in  formatToString (\"filters: (\"%build%\")\") filterNames\n+\n+-- | Defines how 'FilterBy' is logged by just refering to\n+-- 'instance Buildable SortOperations'.","path":"wallet-new/src/Cardano/Wallet/API/Request/Filter.hs","position":106,"original_position":106,"commit_id":"66f4248010c66c7e06f420408eba7d9d2d270144","original_commit_id":"141633a11ec565d919355cba7e192781d2acb858","user":{"login":"Martoon-00","id":5394217,"avatar_url":"https://avatars3.githubusercontent.com/u/5394217?v=4","gravatar_id":"","url":"https://api.github.com/users/Martoon-00","html_url":"https://github.com/Martoon-00","followers_url":"https://api.github.com/users/Martoon-00/followers","following_url":"https://api.github.com/users/Martoon-00/following{/other_user}","gists_url":"https://api.github.com/users/Martoon-00/gists{/gist_id}","starred_url":"https://api.github.com/users/Martoon-00/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Martoon-00/subscriptions","organizations_url":"https://api.github.com/users/Martoon-00/orgs","repos_url":"https://api.github.com/users/Martoon-00/repos","events_url":"https://api.github.com/users/Martoon-00/events{/privacy}","received_events_url":"https://api.github.com/users/Martoon-00/received_events","type":"User","site_admin":false},"body":"I suppose @parsonsmatt says about `s/SortOperations/FilterOperations`.\r\n\r\nI meant here that `toLogParamInfo` does just ~`sformat build` inside, it's really expressed askew though :thinking: ","created_at":"2018-03-22T14:36:00Z","updated_at":"2018-03-22T14:36:00Z","html_url":"https://github.com/input-output-hk/cardano-sl/pull/2656#discussion_r176442667","pull_request_url":"https://api.github.com/repos/input-output-hk/cardano-sl/pulls/2656","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/input-output-hk/cardano-sl/pulls/comments/176442667"},"html":{"href":"https://github.com/input-output-hk/cardano-sl/pull/2656#discussion_r176442667"},"pull_request":{"href":"https://api.github.com/repos/input-output-hk/cardano-sl/pulls/2656"}},"in_reply_to_id":176178044},"pull_request":{"url":"https://api.github.com/repos/input-output-hk/cardano-sl/pulls/2656","id":174167238,"html_url":"https://github.com/input-output-hk/cardano-sl/pull/2656","diff_url":"https://github.com/input-output-hk/cardano-sl/pull/2656.diff","patch_url":"https://github.com/input-output-hk/cardano-sl/pull/2656.patch","issue_url":"https://api.github.com/repos/input-output-hk/cardano-sl/issues/2656","number":2656,"state":"open","locked":false,"title":"[CSL-2347] Add logging of servant requests in wallet new","user":{"login":"Martoon-00","id":5394217,"avatar_url":"https://avatars3.githubusercontent.com/u/5394217?v=4","gravatar_id":"","url":"https://api.github.com/users/Martoon-00","html_url":"https://github.com/Martoon-00","followers_url":"https://api.github.com/users/Martoon-00/followers","following_url":"https://api.github.com/users/Martoon-00/following{/other_user}","gists_url":"https://api.github.com/users/Martoon-00/gists{/gist_id}","starred_url":"https://api.github.com/users/Martoon-00/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Martoon-00/subscriptions","organizations_url":"https://api.github.com/users/Martoon-00/orgs","repos_url":"https://api.github.com/users/Martoon-00/repos","events_url":"https://api.github.com/users/Martoon-00/events{/privacy}","received_events_url":"https://api.github.com/users/Martoon-00/received_events","type":"User","site_admin":false},"body":"This is attempt to use same logging mechanism as one we have in old wallet.\r\n\r\n#### Previously\r\n\r\nOld logging was implemented following such principles:\r\n* Automatic logging - no need to print anything explicitly in implementation.\r\n* No secret info should be revealed (like password) - thus logging requires `instance Buildable` for all types used in API, they should mask content where appropriate.\r\n* No sensitive info should go to public logs (like address) - thus logging in addition requires `instance Buildable (SecureLog ...)` for your type, which masks potentially de-anonymazing info.\r\n* Parameters of request are logged to secret/public logs with `Buildable / Buildable (SecureLog)` instances accordingly. However, responses are not logged at all into public logs (we didn't have time to solve this appropriately previously).\r\n\r\nYou can see how it looked like e.g. here #1874.\r\n\r\n#### This pull request\r\n\r\nFirst, I performed a couple of refactorings:\r\n* Introduce `class BuildableSafeGen` which facilitates simultaneous creation of similar `instance Buildable` for secret logs and `instance Buildable (SecureLog ...)` for public logs via template haskell.\r\n* Modify existing servant type-level combinators from `Pos.Util.Servant`, to work not only with types of form `apiType a` (like `Capture \"name\" a`), but with arbitrary one.\r\nIt will play its role if one day someone needs unusual types like `QueryFlag \"name\"` to appear in API.\r\n\r\nAlso logging is implemented for wallet-new-specific servant combinators (`Tags`, `FilterBy`, `SortBy`).\r\nI expect resulting logs to look like\r\n```\r\nRequest #1\r\nGET\r\n    :> api\r\n    :> v1\r\n    :> transactions\r\n    :> walletId: <id>\r\n    :> filters (id, balance): [FilterByRange, FilterIdentity]\r\n    :> sort: balance desc\r\n...\r\nResponse #1\r\nStatus OK > [<transactions here>]\r\n```\r\n\r\nThere is inconsistency in filters and sorts representation. To artist within me, logs for sorting look good, but logs for filtering are cumbersome (numerous `FilterIdentity`s are not cut away) and incomplete (knowing that filtering mode is `FilterByRange` is good, but which exactly range do we sort by?) but making similar thing as for sorting would be a bit hard and require some arguable decisions (add `Buildable ix` [here](https://goo.gl/PN2ewz)?), see implementation for details. Generally I'd like this to be discussed and caught up in separate PR (unless one finds the inconsistency too dramatic).\r\n\r\n**What remains:** PR is WIP, to my knowledge it only requires to go through `Cardano.Wallet.API.V1.Types` and to define `instance Buildable` and `instance Buildable (SecureLog ..)` for every type mentioned in API - I have just started over this process. For types which serve as response slightly another instance is required, follow compiler. I didn't manage to do this part within this week.\r\n\r\nAlso I suppose I took many arguable decisions here. Including one about `class BuildableSafeGen` introduction - it should be approved before work on this PR can be continued.","created_at":"2018-03-10T11:59:40Z","updated_at":"2018-03-22T14:36:00Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d24c1a7187b1cc5bfe309d04d95aaa66234e8724","assignee":{"login":"KtorZ","id":5680256,"avatar_url":"https://avatars0.githubusercontent.com/u/5680256?v=4","gravatar_id":"","url":"https://api.github.com/users/KtorZ","html_url":"https://github.com/KtorZ","followers_url":"https://api.github.com/users/KtorZ/followers","following_url":"https://api.github.com/users/KtorZ/following{/other_user}","gists_url":"https://api.github.com/users/KtorZ/gists{/gist_id}","starred_url":"https://api.github.com/users/KtorZ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KtorZ/subscriptions","organizations_url":"https://api.github.com/users/KtorZ/orgs","repos_url":"https://api.github.com/users/KtorZ/repos","events_url":"https://api.github.com/users/KtorZ/events{/privacy}","received_events_url":"https://api.github.com/users/KtorZ/received_events","type":"User","site_admin":false},"assignees":[{"login":"KtorZ","id":5680256,"avatar_url":"https://avatars0.githubusercontent.com/u/5680256?v=4","gravatar_id":"","url":"https://api.github.com/users/KtorZ","html_url":"https://github.com/KtorZ","followers_url":"https://api.github.com/users/KtorZ/followers","following_url":"https://api.github.com/users/KtorZ/following{/other_user}","gists_url":"https://api.github.com/users/KtorZ/gists{/gist_id}","starred_url":"https://api.github.com/users/KtorZ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KtorZ/subscriptions","organizations_url":"https://api.github.com/users/KtorZ/orgs","repos_url":"https://api.github.com/users/KtorZ/repos","events_url":"https://api.github.com/users/KtorZ/events{/privacy}","received_events_url":"https://api.github.com/users/KtorZ/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"sectore","id":47693,"avatar_url":"https://avatars1.githubusercontent.com/u/47693?v=4","gravatar_id":"","url":"https://api.github.com/users/sectore","html_url":"https://github.com/sectore","followers_url":"https://api.github.com/users/sectore/followers","following_url":"https://api.github.com/users/sectore/following{/other_user}","gists_url":"https://api.github.com/users/sectore/gists{/gist_id}","starred_url":"https://api.github.com/users/sectore/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sectore/subscriptions","organizations_url":"https://api.github.com/users/sectore/orgs","repos_url":"https://api.github.com/users/sectore/repos","events_url":"https://api.github.com/users/sectore/events{/privacy}","received_events_url":"https://api.github.com/users/sectore/received_events","type":"User","site_admin":false},{"login":"akegalj","id":2461951,"avatar_url":"https://avatars0.githubusercontent.com/u/2461951?v=4","gravatar_id":"","url":"https://api.github.com/users/akegalj","html_url":"https://github.com/akegalj","followers_url":"https://api.github.com/users/akegalj/followers","following_url":"https://api.github.com/users/akegalj/following{/other_user}","gists_url":"https://api.github.com/users/akegalj/gists{/gist_id}","starred_url":"https://api.github.com/users/akegalj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akegalj/subscriptions","organizations_url":"https://api.github.com/users/akegalj/orgs","repos_url":"https://api.github.com/users/akegalj/repos","events_url":"https://api.github.com/users/akegalj/events{/privacy}","received_events_url":"https://api.github.com/users/akegalj/received_events","type":"User","site_admin":false},{"login":"gromakovsky","id":2556409,"avatar_url":"https://avatars0.githubusercontent.com/u/2556409?v=4","gravatar_id":"","url":"https://api.github.com/users/gromakovsky","html_url":"https://github.com/gromakovsky","followers_url":"https://api.github.com/users/gromakovsky/followers","following_url":"https://api.github.com/users/gromakovsky/following{/other_user}","gists_url":"https://api.github.com/users/gromakovsky/gists{/gist_id}","starred_url":"https://api.github.com/users/gromakovsky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gromakovsky/subscriptions","organizations_url":"https://api.github.com/users/gromakovsky/orgs","repos_url":"https://api.github.com/users/gromakovsky/repos","events_url":"https://api.github.com/users/gromakovsky/events{/privacy}","received_events_url":"https://api.github.com/users/gromakovsky/received_events","type":"User","site_admin":false},{"login":"adinapoli-iohk","id":29383371,"avatar_url":"https://avatars3.githubusercontent.com/u/29383371?v=4","gravatar_id":"","url":"https://api.github.com/users/adinapoli-iohk","html_url":"https://github.com/adinapoli-iohk","followers_url":"https://api.github.com/users/adinapoli-iohk/followers","following_url":"https://api.github.com/users/adinapoli-iohk/following{/other_user}","gists_url":"https://api.github.com/users/adinapoli-iohk/gists{/gist_id}","starred_url":"https://api.github.com/users/adinapoli-iohk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adinapoli-iohk/subscriptions","organizations_url":"https://api.github.com/users/adinapoli-iohk/orgs","repos_url":"https://api.github.com/users/adinapoli-iohk/repos","events_url":"https://api.github.com/users/adinapoli-iohk/events{/privacy}","received_events_url":"https://api.github.com/users/adinapoli-iohk/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":531518701,"url":"https://api.github.com/repos/input-output-hk/cardano-sl/labels/wip","name":"wip","color":"0e8a16","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/input-output-hk/cardano-sl/pulls/2656/commits","review_comments_url":"https://api.github.com/repos/input-output-hk/cardano-sl/pulls/2656/comments","review_comment_url":"https://api.github.com/repos/input-output-hk/cardano-sl/pulls/comments{/number}","comments_url":"https://api.github.com/repos/input-output-hk/cardano-sl/issues/2656/comments","statuses_url":"https://api.github.com/repos/input-output-hk/cardano-sl/statuses/66f4248010c66c7e06f420408eba7d9d2d270144","head":{"label":"input-output-hk:martoon/csl2347-v1-logs","ref":"martoon/csl2347-v1-logs","sha":"66f4248010c66c7e06f420408eba7d9d2d270144","user":{"login":"input-output-hk","id":12909177,"avatar_url":"https://avatars3.githubusercontent.com/u/12909177?v=4","gravatar_id":"","url":"https://api.github.com/users/input-output-hk","html_url":"https://github.com/input-output-hk","followers_url":"https://api.github.com/users/input-output-hk/followers","following_url":"https://api.github.com/users/input-output-hk/following{/other_user}","gists_url":"https://api.github.com/users/input-output-hk/gists{/gist_id}","starred_url":"https://api.github.com/users/input-output-hk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/input-output-hk/subscriptions","organizations_url":"https://api.github.com/users/input-output-hk/orgs","repos_url":"https://api.github.com/users/input-output-hk/repos","events_url":"https://api.github.com/users/input-output-hk/events{/privacy}","received_events_url":"https://api.github.com/users/input-output-hk/received_events","type":"Organization","site_admin":false},"repo":{"id":70913997,"name":"cardano-sl","full_name":"input-output-hk/cardano-sl","owner":{"login":"input-output-hk","id":12909177,"avatar_url":"https://avatars3.githubusercontent.com/u/12909177?v=4","gravatar_id":"","url":"https://api.github.com/users/input-output-hk","html_url":"https://github.com/input-output-hk","followers_url":"https://api.github.com/users/input-output-hk/followers","following_url":"https://api.github.com/users/input-output-hk/following{/other_user}","gists_url":"https://api.github.com/users/input-output-hk/gists{/gist_id}","starred_url":"https://api.github.com/users/input-output-hk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/input-output-hk/subscriptions","organizations_url":"https://api.github.com/users/input-output-hk/orgs","repos_url":"https://api.github.com/users/input-output-hk/repos","events_url":"https://api.github.com/users/input-output-hk/events{/privacy}","received_events_url":"https://api.github.com/users/input-output-hk/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/input-output-hk/cardano-sl","description":"Cryptographic currency implementing Ouroboros PoS protocol","fork":false,"url":"https://api.github.com/repos/input-output-hk/cardano-sl","forks_url":"https://api.github.com/repos/input-output-hk/cardano-sl/forks","keys_url":"https://api.github.com/repos/input-output-hk/cardano-sl/keys{/key_id}","collaborators_url":"https://api.github.com/repos/input-output-hk/cardano-sl/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/input-output-hk/cardano-sl/teams","hooks_url":"https://api.github.com/repos/input-output-hk/cardano-sl/hooks","issue_events_url":"https://api.github.com/repos/input-output-hk/cardano-sl/issues/events{/number}","events_url":"https://api.github.com/repos/input-output-hk/cardano-sl/events","assignees_url":"https://api.github.com/repos/input-output-hk/cardano-sl/assignees{/user}","branches_url":"https://api.github.com/repos/input-output-hk/cardano-sl/branches{/branch}","tags_url":"https://api.github.com/repos/input-output-hk/cardano-sl/tags","blobs_url":"https://api.github.com/repos/input-output-hk/cardano-sl/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/input-output-hk/cardano-sl/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/input-output-hk/cardano-sl/git/refs{/sha}","trees_url":"https://api.github.com/repos/input-output-hk/cardano-sl/git/trees{/sha}","statuses_url":"https://api.github.com/repos/input-output-hk/cardano-sl/statuses/{sha}","languages_url":"https://api.github.com/repos/input-output-hk/cardano-sl/languages","stargazers_url":"https://api.github.com/repos/input-output-hk/cardano-sl/stargazers","contributors_url":"https://api.github.com/repos/input-output-hk/cardano-sl/contributors","subscribers_url":"https://api.github.com/repos/input-output-hk/cardano-sl/subscribers","subscription_url":"https://api.github.com/repos/input-output-hk/cardano-sl/subscription","commits_url":"https://api.github.com/repos/input-output-hk/cardano-sl/commits{/sha}","git_commits_url":"https://api.github.com/repos/input-output-hk/cardano-sl/git/commits{/sha}","comments_url":"https://api.github.com/repos/input-output-hk/cardano-sl/comments{/number}","issue_comment_url":"https://api.github.com/repos/input-output-hk/cardano-sl/issues/comments{/number}","contents_url":"https://api.github.com/repos/input-output-hk/cardano-sl/contents/{+path}","compare_url":"https://api.github.com/repos/input-output-hk/cardano-sl/compare/{base}...{head}","merges_url":"https://api.github.com/repos/input-output-hk/cardano-sl/merges","archive_url":"https://api.github.com/repos/input-output-hk/cardano-sl/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/input-output-hk/cardano-sl/downloads","issues_url":"https://api.github.com/repos/input-output-hk/cardano-sl/issues{/number}","pulls_url":"https://api.github.com/repos/input-output-hk/cardano-sl/pulls{/number}","milestones_url":"https://api.github.com/repos/input-output-hk/cardano-sl/milestones{/number}","notifications_url":"https://api.github.com/repos/input-output-hk/cardano-sl/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/input-output-hk/cardano-sl/labels{/name}","releases_url":"https://api.github.com/repos/input-output-hk/cardano-sl/releases{/id}","deployments_url":"https://api.github.com/repos/input-output-hk/cardano-sl/deployments","created_at":"2016-10-14T13:44:38Z","updated_at":"2018-03-22T10:17:48Z","pushed_at":"2018-03-22T14:27:25Z","git_url":"git://github.com/input-output-hk/cardano-sl.git","ssh_url":"git@github.com:input-output-hk/cardano-sl.git","clone_url":"https://github.com/input-output-hk/cardano-sl.git","svn_url":"https://github.com/input-output-hk/cardano-sl","homepage":"","size":87271,"stargazers_count":2257,"watchers_count":2257,"language":"Haskell","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":331,"mirror_url":null,"archived":false,"open_issues_count":141,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":331,"open_issues":141,"watchers":2257,"default_branch":"develop"}},"base":{"label":"input-output-hk:develop","ref":"develop","sha":"56f870b2d495422538b1687c0ad11ca25165d9e2","user":{"login":"input-output-hk","id":12909177,"avatar_url":"https://avatars3.githubusercontent.com/u/12909177?v=4","gravatar_id":"","url":"https://api.github.com/users/input-output-hk","html_url":"https://github.com/input-output-hk","followers_url":"https://api.github.com/users/input-output-hk/followers","following_url":"https://api.github.com/users/input-output-hk/following{/other_user}","gists_url":"https://api.github.com/users/input-output-hk/gists{/gist_id}","starred_url":"https://api.github.com/users/input-output-hk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/input-output-hk/subscriptions","organizations_url":"https://api.github.com/users/input-output-hk/orgs","repos_url":"https://api.github.com/users/input-output-hk/repos","events_url":"https://api.github.com/users/input-output-hk/events{/privacy}","received_events_url":"https://api.github.com/users/input-output-hk/received_events","type":"Organization","site_admin":false},"repo":{"id":70913997,"name":"cardano-sl","full_name":"input-output-hk/cardano-sl","owner":{"login":"input-output-hk","id":12909177,"avatar_url":"https://avatars3.githubusercontent.com/u/12909177?v=4","gravatar_id":"","url":"https://api.github.com/users/input-output-hk","html_url":"https://github.com/input-output-hk","followers_url":"https://api.github.com/users/input-output-hk/followers","following_url":"https://api.github.com/users/input-output-hk/following{/other_user}","gists_url":"https://api.github.com/users/input-output-hk/gists{/gist_id}","starred_url":"https://api.github.com/users/input-output-hk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/input-output-hk/subscriptions","organizations_url":"https://api.github.com/users/input-output-hk/orgs","repos_url":"https://api.github.com/users/input-output-hk/repos","events_url":"https://api.github.com/users/input-output-hk/events{/privacy}","received_events_url":"https://api.github.com/users/input-output-hk/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/input-output-hk/cardano-sl","description":"Cryptographic currency implementing Ouroboros PoS protocol","fork":false,"url":"https://api.github.com/repos/input-output-hk/cardano-sl","forks_url":"https://api.github.com/repos/input-output-hk/cardano-sl/forks","keys_url":"https://api.github.com/repos/input-output-hk/cardano-sl/keys{/key_id}","collaborators_url":"https://api.github.com/repos/input-output-hk/cardano-sl/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/input-output-hk/cardano-sl/teams","hooks_url":"https://api.github.com/repos/input-output-hk/cardano-sl/hooks","issue_events_url":"https://api.github.com/repos/input-output-hk/cardano-sl/issues/events{/number}","events_url":"https://api.github.com/repos/input-output-hk/cardano-sl/events","assignees_url":"https://api.github.com/repos/input-output-hk/cardano-sl/assignees{/user}","branches_url":"https://api.github.com/repos/input-output-hk/cardano-sl/branches{/branch}","tags_url":"https://api.github.com/repos/input-output-hk/cardano-sl/tags","blobs_url":"https://api.github.com/repos/input-output-hk/cardano-sl/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/input-output-hk/cardano-sl/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/input-output-hk/cardano-sl/git/refs{/sha}","trees_url":"https://api.github.com/repos/input-output-hk/cardano-sl/git/trees{/sha}","statuses_url":"https://api.github.com/repos/input-output-hk/cardano-sl/statuses/{sha}","languages_url":"https://api.github.com/repos/input-output-hk/cardano-sl/languages","stargazers_url":"https://api.github.com/repos/input-output-hk/cardano-sl/stargazers","contributors_url":"https://api.github.com/repos/input-output-hk/cardano-sl/contributors","subscribers_url":"https://api.github.com/repos/input-output-hk/cardano-sl/subscribers","subscription_url":"https://api.github.com/repos/input-output-hk/cardano-sl/subscription","commits_url":"https://api.github.com/repos/input-output-hk/cardano-sl/commits{/sha}","git_commits_url":"https://api.github.com/repos/input-output-hk/cardano-sl/git/commits{/sha}","comments_url":"https://api.github.com/repos/input-output-hk/cardano-sl/comments{/number}","issue_comment_url":"https://api.github.com/repos/input-output-hk/cardano-sl/issues/comments{/number}","contents_url":"https://api.github.com/repos/input-output-hk/cardano-sl/contents/{+path}","compare_url":"https://api.github.com/repos/input-output-hk/cardano-sl/compare/{base}...{head}","merges_url":"https://api.github.com/repos/input-output-hk/cardano-sl/merges","archive_url":"https://api.github.com/repos/input-output-hk/cardano-sl/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/input-output-hk/cardano-sl/downloads","issues_url":"https://api.github.com/repos/input-output-hk/cardano-sl/issues{/number}","pulls_url":"https://api.github.com/repos/input-output-hk/cardano-sl/pulls{/number}","milestones_url":"https://api.github.com/repos/input-output-hk/cardano-sl/milestones{/number}","notifications_url":"https://api.github.com/repos/input-output-hk/cardano-sl/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/input-output-hk/cardano-sl/labels{/name}","releases_url":"https://api.github.com/repos/input-output-hk/cardano-sl/releases{/id}","deployments_url":"https://api.github.com/repos/input-output-hk/cardano-sl/deployments","created_at":"2016-10-14T13:44:38Z","updated_at":"2018-03-22T10:17:48Z","pushed_at":"2018-03-22T14:27:25Z","git_url":"git://github.com/input-output-hk/cardano-sl.git","ssh_url":"git@github.com:input-output-hk/cardano-sl.git","clone_url":"https://github.com/input-output-hk/cardano-sl.git","svn_url":"https://github.com/input-output-hk/cardano-sl","homepage":"","size":87271,"stargazers_count":2257,"watchers_count":2257,"language":"Haskell","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":331,"mirror_url":null,"archived":false,"open_issues_count":141,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":331,"open_issues":141,"watchers":2257,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/input-output-hk/cardano-sl/pulls/2656"},"html":{"href":"https://github.com/input-output-hk/cardano-sl/pull/2656"},"issue":{"href":"https://api.github.com/repos/input-output-hk/cardano-sl/issues/2656"},"comments":{"href":"https://api.github.com/repos/input-output-hk/cardano-sl/issues/2656/comments"},"review_comments":{"href":"https://api.github.com/repos/input-output-hk/cardano-sl/pulls/2656/comments"},"review_comment":{"href":"https://api.github.com/repos/input-output-hk/cardano-sl/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/input-output-hk/cardano-sl/pulls/2656/commits"},"statuses":{"href":"https://api.github.com/repos/input-output-hk/cardano-sl/statuses/66f4248010c66c7e06f420408eba7d9d2d270144"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"Martoon-00"}}