{"action":"created","comment":{"url":"https://api.github.com/repos/KyberNetwork/smart-contracts/pulls/comments/234431040","pull_request_review_id":176077752,"id":234431040,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzNDQzMTA0MA==","diff_hunk":"@@ -1,170 +1,200 @@\n+import sys\n+import argparse\n+import json\n import numpy as np\n-\n-\n-class LiquidityParams:\n-\n-    def __init__(self,\n-                 rate,\n-                 P_0_tokens_to_eth,\n-                 num_formula_precision_bits,\n-                 max_cap_buy_eth,\n-                 max_cap_sell_eth,\n-                 fee_in_precents):\n-\n-        self.rate = rate \n-        self.P_0_tokens_to_eth = P_0_tokens_to_eth\n-        self.num_formula_precision_bits = num_formula_precision_bits\n-        self.max_cap_buy_eth= max_cap_buy_eth\n-        self.max_cap_sell_eth = max_cap_sell_eth\n-        self.fee_in_precents = fee_in_precents\n-\n-    def calc_balances_based_on_pmin_pmax(self,\n-                                         min_token_to_eth_rate,\n-                                         max_token_to_eth_rate):\n-\n-        print(\"\\ncalc_balances_based_on_pmin_pmax:\")\n-\n-        E_0_ether = (1/self.rate) * np.log(self.P_0_tokens_to_eth / min_token_to_eth_rate)\n-        print(\"E_0_ether: \" + str(E_0_ether))\n-\n-        T_0_tokens = (1/self.rate) * (1/self.P_0_tokens_to_eth - 1/ max_token_to_eth_rate)\n-        print(\"T_0_tokens: \" + str(T_0_tokens))\n-\n-        T_0_tokens_in_eth = T_0_tokens * self.P_0_tokens_to_eth\n-        print(\"T_0_tokens_in_eth: \" + str(T_0_tokens_in_eth))\n-\n-        return E_0_ether, T_0_tokens\n-\n-    def calc_pmin_pmax_ratio_based_on_balances(self,\n-                                               E_0_ether,\n-                                               T_0_tokens):\n-\n-        print(\"\\ncalc_pmin_pmax_ratio_based_on_balances:\")\n-\n-        # auto calculated values in natural units (Eth, Tokens)\n-        max_token_to_eth_rate = self.P_0_tokens_to_eth / (1 - self.rate * self.P_0_tokens_to_eth * T_0_tokens)\n-        min_token_to_eth_rate = self.P_0_tokens_to_eth / np.exp(self.rate * E_0_ether)\n-        pmin_ratio = min_token_to_eth_rate / self.P_0_tokens_to_eth\n-        pmax_ratio = max_token_to_eth_rate / self.P_0_tokens_to_eth\n-        print(\"minimal_pmin_ratio: \" + str(pmin_ratio))\n-        print(\"maximal_pmax_ratio: \" + str(pmax_ratio))\n-\n-        return pmin_ratio, pmax_ratio\n-\n-    def calc_params_based_on_ratios(self,\n-                                    pmin_ratio,\n-                                    pmax_ratio):\n-\n-        print(\"\\ncalc_params_based_on_ratios:\")\n-\n-        print(\"params in human units: \")\n-        # auto calculated values in natural units (Eth, Tokens)\n-        max_token_to_eth_rate = pmax_ratio * self.P_0_tokens_to_eth\n-        min_token_to_eth_rate = pmin_ratio * self.P_0_tokens_to_eth\n-\n-        print(\"P_0_tokens_to_eth:\" + \"%.20f\" % self.P_0_tokens_to_eth)\n-        print(\"num_formula_precision_bits:\" + str(self.num_formula_precision_bits))\n-        print(\"max_cap_buy_eth:\" + str(self.max_cap_buy_eth))\n-        print(\"max_cap_sell_eth:\" + str(self.max_cap_sell_eth))\n-        print(\"fee_in_precents:\" + str(self.fee_in_precents))\n-        print(\"max_token_to_eth_rate:\" + \"%.20f\" % max_token_to_eth_rate)\n-        print(\"min_token_to_eth_rate:\" + \"%.20f\" % min_token_to_eth_rate)\n-        print(\"pmin_ratio:\" + str(pmin_ratio))\n-        print(\"pmax_ratio:\" + str(pmax_ratio))\n-\n-        print(\"\\nparams to configure in contract units (Wei, Precision): \")\n-        _rInFp = self.rate * (2**self.num_formula_precision_bits)\n-        _pMinInFp = min_token_to_eth_rate * (2 ** self.num_formula_precision_bits)\n-        _numFpBits = self.num_formula_precision_bits\n-        _maxCapBuyInWei = self.max_cap_buy_eth * (10 ** 18)\n-        _maxCapSellInWei = self.max_cap_sell_eth * (10 ** 18)\n-        _feeInBps = self.fee_in_precents * 100\n-        _maxTokenToEthRateInPrecision = max_token_to_eth_rate * (10 ** 18)\n-        _minTokenToEthRateInPrecision = min_token_to_eth_rate * (10 ** 18)\n-\n-        print(\"_rInFp: \" + str(_rInFp))\n-        print(\"_pMinInFp: \" + str(_pMinInFp))\n-        print(\"_numFpBits: \" + str(_numFpBits))\n-        print(\"_maxCapBuyInWei: \" + \"%.20f\" % _maxCapBuyInWei)\n-        print(\"_maxCapSellInWei: \" + \"%.20f\" % _maxCapSellInWei)\n-        print(\"_feeInBps: \" + str(_feeInBps))\n-        print(\"_maxTokenToEthRateInPrecision: \" + str(_maxTokenToEthRateInPrecision))\n-        print(\"_minTokenToEthRateInPrecision: \" + str(_minTokenToEthRateInPrecision))\n-\n-\n-knc_options = { \"token\": \"knc\",\n-                \"p0\": 0.00229499,\n-                \"options\": [{\"rate\": 0.01,\n-                             \"min_token_to_eth_ratio\": 0.7,\n-                             \"max_token_to_eth_ratio\": 1.3},\n-                            {\"rate\": 0.01,\n-                             \"min_token_to_eth_ratio\": 0.8,\n-                             \"max_token_to_eth_ratio\": 1.2},\n-                            {\"rate\": 0.01,\n-                             \"min_token_to_eth_ratio\": 0.9,\n-                             \"max_token_to_eth_ratio\": 1.1},\n-                            {\"rate\": 0.005,\n-                             \"min_token_to_eth_ratio\": 0.7,\n-                             \"max_token_to_eth_ratio\": 1.3}]\n-             }\n-\n-dai_options = { \"token\": \"dai\",\n-                \"p0\": 0.00209461,\n-                \"options\": [{\"rate\": 0.01,\n-                             \"min_token_to_eth_ratio\": 0.7,\n-                             \"max_token_to_eth_ratio\": 1.3},\n-                            {\"rate\": 0.01,\n-                             \"min_token_to_eth_ratio\": 0.8,\n-                             \"max_token_to_eth_ratio\": 1.2},\n-                            {\"rate\": 0.01,\n-                             \"min_token_to_eth_ratio\": 0.9,\n-                             \"max_token_to_eth_ratio\": 1.1},\n-                            {\"rate\": 0.0075,\n-                             \"min_token_to_eth_ratio\": 0.8,\n-                             \"max_token_to_eth_ratio\": 1.2}]\n-             }\n-\n-bbo_options = { \"token\": \"bbo\",\n-                \"p0\": 0.00001077,\n-                \"options\": [{\"rate\": 0.01,\n-                             \"min_token_to_eth_ratio\": 0.5,\n-                             \"max_token_to_eth_ratio\": 2.0}]\n-             }\n-\n-midas_options = { \"token\": \"midas\",\n-                  \"p0\": 0.0001, # 1m tokens = 100 eth\n-                  \"options\": [{\"rate\": 0.01 * 0.693,\n-                               \"min_token_to_eth_ratio\": 0.5,\n-                               \"max_token_to_eth_ratio\": 2.0}]\n-             }\n-\n-for token_options in [midas_options]:\n-    print(\"*********************************************\")\n-\n-    print(\"token: \" + str(token_options[\"token\"]))\n-    print(\"current price: \" + str(token_options[\"p0\"]))\n-\n-    for option in token_options[\"options\"]:\n-        print(\"****\\n\" + str(option))\n-\n-        liq = LiquidityParams(rate=option[\"rate\"],\n-                              P_0_tokens_to_eth=token_options[\"p0\"],\n-                              num_formula_precision_bits=40,\n-                              max_cap_buy_eth=3.0,\n-                              max_cap_sell_eth=3.0,\n-                              fee_in_precents=0.25)\n-\n-\n-        # calculate ptoential minimal and maximal ratios according to fix amounts the rm is willing to put (100 eth, 1M tokens).\n-        (minimal_pmin_ratio, maximal_pmax_ratio) = liq.calc_pmin_pmax_ratio_based_on_balances(E_0_ether=100.0, T_0_tokens=1000000)\n-        # actually use pmin and pmax as fixed 0.5 and 2.0\n-        (pmin_ratio, pmax_ratio) = (0.5, 2.0)\n-        liq.calc_params_based_on_ratios(pmin_ratio, pmax_ratio)\n-\n-        #E_0_ether, T_0_tokens = liq.calc_balances_based_on_pmin_pmax(\n-        #    min_token_to_eth_rate=option[\"min_token_to_eth_ratio\"] * token_options[\"p0\"],\n-        #    max_token_to_eth_rate=option[\"max_token_to_eth_ratio\"] * token_options[\"p0\"]\n-        #)\n-\n-        #liq.calc_params_based_on_ratios(option[\"min_token_to_eth_ratio\"],\n-        #                                option[\"max_token_to_eth_ratio\"])\n+from pprint import pprint\n+\n+\n+def calc_balances_from_pmin_pmax(\n+    rate,\n+    price,\n+    min_ratio,\n+    max_ratio\n+):\n+\n+    min_rate = min_ratio * price","path":"scripts/get_liquidity_params.py","position":184,"original_position":184,"commit_id":"67e451c8f0985e8a958e1a7a3243150cf9253cc2","original_commit_id":"67e451c8f0985e8a958e1a7a3243150cf9253cc2","user":{"login":"talbaneth","id":27555714,"node_id":"MDQ6VXNlcjI3NTU1NzE0","avatar_url":"https://avatars0.githubusercontent.com/u/27555714?v=4","gravatar_id":"","url":"https://api.github.com/users/talbaneth","html_url":"https://github.com/talbaneth","followers_url":"https://api.github.com/users/talbaneth/followers","following_url":"https://api.github.com/users/talbaneth/following{/other_user}","gists_url":"https://api.github.com/users/talbaneth/gists{/gist_id}","starred_url":"https://api.github.com/users/talbaneth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/talbaneth/subscriptions","organizations_url":"https://api.github.com/users/talbaneth/orgs","repos_url":"https://api.github.com/users/talbaneth/repos","events_url":"https://api.github.com/users/talbaneth/events{/privacy}","received_events_url":"https://api.github.com/users/talbaneth/received_events","type":"User","site_admin":false},"body":"done.","created_at":"2018-11-18T06:55:03Z","updated_at":"2018-11-18T06:55:03Z","html_url":"https://github.com/KyberNetwork/smart-contracts/pull/330#discussion_r234431040","pull_request_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/pulls/330","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/KyberNetwork/smart-contracts/pulls/comments/234431040"},"html":{"href":"https://github.com/KyberNetwork/smart-contracts/pull/330#discussion_r234431040"},"pull_request":{"href":"https://api.github.com/repos/KyberNetwork/smart-contracts/pulls/330"}},"in_reply_to_id":233455022},"pull_request":{"url":"https://api.github.com/repos/KyberNetwork/smart-contracts/pulls/330","id":230083974,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMwMDgzOTc0","html_url":"https://github.com/KyberNetwork/smart-contracts/pull/330","diff_url":"https://github.com/KyberNetwork/smart-contracts/pull/330.diff","patch_url":"https://github.com/KyberNetwork/smart-contracts/pull/330.patch","issue_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/issues/330","number":330,"state":"open","locked":false,"title":"Refactor liquidity params script.","user":{"login":"talbaneth","id":27555714,"node_id":"MDQ6VXNlcjI3NTU1NzE0","avatar_url":"https://avatars0.githubusercontent.com/u/27555714?v=4","gravatar_id":"","url":"https://api.github.com/users/talbaneth","html_url":"https://github.com/talbaneth","followers_url":"https://api.github.com/users/talbaneth/followers","following_url":"https://api.github.com/users/talbaneth/following{/other_user}","gists_url":"https://api.github.com/users/talbaneth/gists{/gist_id}","starred_url":"https://api.github.com/users/talbaneth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/talbaneth/subscriptions","organizations_url":"https://api.github.com/users/talbaneth/orgs","repos_url":"https://api.github.com/users/talbaneth/repos","events_url":"https://api.github.com/users/talbaneth/events{/privacy}","received_events_url":"https://api.github.com/users/talbaneth/received_events","type":"User","site_admin":false},"body":"Now get json file and supports several options.","created_at":"2018-11-12T10:25:15Z","updated_at":"2018-11-18T06:55:03Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a4448872b8d608b4668cc61072a7745993754ed9","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/pulls/330/commits","review_comments_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/pulls/330/comments","review_comment_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/pulls/comments{/number}","comments_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/issues/330/comments","statuses_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/statuses/67e451c8f0985e8a958e1a7a3243150cf9253cc2","head":{"label":"KyberNetwork:liquidity_script","ref":"liquidity_script","sha":"67e451c8f0985e8a958e1a7a3243150cf9253cc2","user":{"login":"KyberNetwork","id":28812853,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4ODEyODUz","avatar_url":"https://avatars0.githubusercontent.com/u/28812853?v=4","gravatar_id":"","url":"https://api.github.com/users/KyberNetwork","html_url":"https://github.com/KyberNetwork","followers_url":"https://api.github.com/users/KyberNetwork/followers","following_url":"https://api.github.com/users/KyberNetwork/following{/other_user}","gists_url":"https://api.github.com/users/KyberNetwork/gists{/gist_id}","starred_url":"https://api.github.com/users/KyberNetwork/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KyberNetwork/subscriptions","organizations_url":"https://api.github.com/users/KyberNetwork/orgs","repos_url":"https://api.github.com/users/KyberNetwork/repos","events_url":"https://api.github.com/users/KyberNetwork/events{/privacy}","received_events_url":"https://api.github.com/users/KyberNetwork/received_events","type":"Organization","site_admin":false},"repo":{"id":96011647,"node_id":"MDEwOlJlcG9zaXRvcnk5NjAxMTY0Nw==","name":"smart-contracts","full_name":"KyberNetwork/smart-contracts","private":false,"owner":{"login":"KyberNetwork","id":28812853,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4ODEyODUz","avatar_url":"https://avatars0.githubusercontent.com/u/28812853?v=4","gravatar_id":"","url":"https://api.github.com/users/KyberNetwork","html_url":"https://github.com/KyberNetwork","followers_url":"https://api.github.com/users/KyberNetwork/followers","following_url":"https://api.github.com/users/KyberNetwork/following{/other_user}","gists_url":"https://api.github.com/users/KyberNetwork/gists{/gist_id}","starred_url":"https://api.github.com/users/KyberNetwork/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KyberNetwork/subscriptions","organizations_url":"https://api.github.com/users/KyberNetwork/orgs","repos_url":"https://api.github.com/users/KyberNetwork/repos","events_url":"https://api.github.com/users/KyberNetwork/events{/privacy}","received_events_url":"https://api.github.com/users/KyberNetwork/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/KyberNetwork/smart-contracts","description":"Main smart contracts for Kyber Network, including the main platform contract, reserve contracts etc.","fork":false,"url":"https://api.github.com/repos/KyberNetwork/smart-contracts","forks_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/forks","keys_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/keys{/key_id}","collaborators_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/teams","hooks_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/hooks","issue_events_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/issues/events{/number}","events_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/events","assignees_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/assignees{/user}","branches_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/branches{/branch}","tags_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/tags","blobs_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/git/refs{/sha}","trees_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/git/trees{/sha}","statuses_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/statuses/{sha}","languages_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/languages","stargazers_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/stargazers","contributors_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/contributors","subscribers_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/subscribers","subscription_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/subscription","commits_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/commits{/sha}","git_commits_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/git/commits{/sha}","comments_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/comments{/number}","issue_comment_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/issues/comments{/number}","contents_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/contents/{+path}","compare_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/compare/{base}...{head}","merges_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/merges","archive_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/downloads","issues_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/issues{/number}","pulls_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/pulls{/number}","milestones_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/milestones{/number}","notifications_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/labels{/name}","releases_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/releases{/id}","deployments_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/deployments","created_at":"2017-07-02T08:39:01Z","updated_at":"2018-11-17T16:39:31Z","pushed_at":"2018-11-14T12:19:20Z","git_url":"git://github.com/KyberNetwork/smart-contracts.git","ssh_url":"git@github.com:KyberNetwork/smart-contracts.git","clone_url":"https://github.com/KyberNetwork/smart-contracts.git","svn_url":"https://github.com/KyberNetwork/smart-contracts","homepage":"https://kyber.network","size":3851,"stargazers_count":199,"watchers_count":199,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":71,"mirror_url":null,"archived":false,"open_issues_count":29,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":71,"open_issues":29,"watchers":199,"default_branch":"master"}},"base":{"label":"KyberNetwork:master","ref":"master","sha":"5f1cd489a282d55514459c44af4c348bb6a8cf57","user":{"login":"KyberNetwork","id":28812853,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4ODEyODUz","avatar_url":"https://avatars0.githubusercontent.com/u/28812853?v=4","gravatar_id":"","url":"https://api.github.com/users/KyberNetwork","html_url":"https://github.com/KyberNetwork","followers_url":"https://api.github.com/users/KyberNetwork/followers","following_url":"https://api.github.com/users/KyberNetwork/following{/other_user}","gists_url":"https://api.github.com/users/KyberNetwork/gists{/gist_id}","starred_url":"https://api.github.com/users/KyberNetwork/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KyberNetwork/subscriptions","organizations_url":"https://api.github.com/users/KyberNetwork/orgs","repos_url":"https://api.github.com/users/KyberNetwork/repos","events_url":"https://api.github.com/users/KyberNetwork/events{/privacy}","received_events_url":"https://api.github.com/users/KyberNetwork/received_events","type":"Organization","site_admin":false},"repo":{"id":96011647,"node_id":"MDEwOlJlcG9zaXRvcnk5NjAxMTY0Nw==","name":"smart-contracts","full_name":"KyberNetwork/smart-contracts","private":false,"owner":{"login":"KyberNetwork","id":28812853,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4ODEyODUz","avatar_url":"https://avatars0.githubusercontent.com/u/28812853?v=4","gravatar_id":"","url":"https://api.github.com/users/KyberNetwork","html_url":"https://github.com/KyberNetwork","followers_url":"https://api.github.com/users/KyberNetwork/followers","following_url":"https://api.github.com/users/KyberNetwork/following{/other_user}","gists_url":"https://api.github.com/users/KyberNetwork/gists{/gist_id}","starred_url":"https://api.github.com/users/KyberNetwork/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KyberNetwork/subscriptions","organizations_url":"https://api.github.com/users/KyberNetwork/orgs","repos_url":"https://api.github.com/users/KyberNetwork/repos","events_url":"https://api.github.com/users/KyberNetwork/events{/privacy}","received_events_url":"https://api.github.com/users/KyberNetwork/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/KyberNetwork/smart-contracts","description":"Main smart contracts for Kyber Network, including the main platform contract, reserve contracts etc.","fork":false,"url":"https://api.github.com/repos/KyberNetwork/smart-contracts","forks_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/forks","keys_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/keys{/key_id}","collaborators_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/teams","hooks_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/hooks","issue_events_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/issues/events{/number}","events_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/events","assignees_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/assignees{/user}","branches_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/branches{/branch}","tags_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/tags","blobs_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/git/refs{/sha}","trees_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/git/trees{/sha}","statuses_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/statuses/{sha}","languages_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/languages","stargazers_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/stargazers","contributors_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/contributors","subscribers_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/subscribers","subscription_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/subscription","commits_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/commits{/sha}","git_commits_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/git/commits{/sha}","comments_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/comments{/number}","issue_comment_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/issues/comments{/number}","contents_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/contents/{+path}","compare_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/compare/{base}...{head}","merges_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/merges","archive_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/downloads","issues_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/issues{/number}","pulls_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/pulls{/number}","milestones_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/milestones{/number}","notifications_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/labels{/name}","releases_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/releases{/id}","deployments_url":"https://api.github.com/repos/KyberNetwork/smart-contracts/deployments","created_at":"2017-07-02T08:39:01Z","updated_at":"2018-11-17T16:39:31Z","pushed_at":"2018-11-14T12:19:20Z","git_url":"git://github.com/KyberNetwork/smart-contracts.git","ssh_url":"git@github.com:KyberNetwork/smart-contracts.git","clone_url":"https://github.com/KyberNetwork/smart-contracts.git","svn_url":"https://github.com/KyberNetwork/smart-contracts","homepage":"https://kyber.network","size":3851,"stargazers_count":199,"watchers_count":199,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":71,"mirror_url":null,"archived":false,"open_issues_count":29,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":71,"open_issues":29,"watchers":199,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/KyberNetwork/smart-contracts/pulls/330"},"html":{"href":"https://github.com/KyberNetwork/smart-contracts/pull/330"},"issue":{"href":"https://api.github.com/repos/KyberNetwork/smart-contracts/issues/330"},"comments":{"href":"https://api.github.com/repos/KyberNetwork/smart-contracts/issues/330/comments"},"review_comments":{"href":"https://api.github.com/repos/KyberNetwork/smart-contracts/pulls/330/comments"},"review_comment":{"href":"https://api.github.com/repos/KyberNetwork/smart-contracts/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/KyberNetwork/smart-contracts/pulls/330/commits"},"statuses":{"href":"https://api.github.com/repos/KyberNetwork/smart-contracts/statuses/67e451c8f0985e8a958e1a7a3243150cf9253cc2"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"talbaneth"}}