{"action":"created","comment":{"url":"https://api.github.com/repos/golemfactory/golem-contracts/pulls/comments/170913437","pull_request_review_id":99672290,"id":170913437,"diff_hunk":"@@ -0,0 +1,159 @@\n+pragma solidity ^0.4.19;\n+\n+contract TransferableToken {\n+    function balanceOf(address _addr) public constant returns (uint256);\n+    function transfer(address _to, uint256 _value) public returns (bool success);\n+}\n+\n+\n+/// The Gate is a temporary contract with unique address to allow a token holder\n+/// (called \"User\") to transfer token from original Token to the Proxy.\n+///\n+/// TODO: Rename to MigrationGate?\n+contract Gate {\n+    TransferableToken private TOKEN;\n+    TokenProxy private PROXY;\n+    address private USER;\n+\n+    /// Gates are to be created by the TokenProxy.\n+    function Gate(TransferableToken _token, TokenProxy _proxy, address _user) public {\n+        TOKEN = _token;\n+        PROXY = _proxy;\n+        USER = _user;\n+    }\n+\n+    function transferToProxy() public {\n+        // Transfer all Gate's tokens to Proxy address.\n+        uint256 balance = TOKEN.balanceOf(this);\n+        assert(TOKEN.transfer(PROXY, balance));","path":"contracts/TokenProxy.sol","position":28,"original_position":28,"commit_id":"afaa269c4071af63599dac685d2e5923367e19f5","original_commit_id":"afaa269c4071af63599dac685d2e5923367e19f5","user":{"login":"chfast","id":573380,"avatar_url":"https://avatars1.githubusercontent.com/u/573380?v=4","gravatar_id":"","url":"https://api.github.com/users/chfast","html_url":"https://github.com/chfast","followers_url":"https://api.github.com/users/chfast/followers","following_url":"https://api.github.com/users/chfast/following{/other_user}","gists_url":"https://api.github.com/users/chfast/gists{/gist_id}","starred_url":"https://api.github.com/users/chfast/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chfast/subscriptions","organizations_url":"https://api.github.com/users/chfast/orgs","repos_url":"https://api.github.com/users/chfast/repos","events_url":"https://api.github.com/users/chfast/events{/privacy}","received_events_url":"https://api.github.com/users/chfast/received_events","type":"User","site_admin":false},"body":"Because ERC20 tokens must return true unconditionally.","created_at":"2018-02-27T13:01:36Z","updated_at":"2018-02-27T13:03:19Z","html_url":"https://github.com/golemfactory/golem-contracts/pull/20#discussion_r170913437","pull_request_url":"https://api.github.com/repos/golemfactory/golem-contracts/pulls/20","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/golemfactory/golem-contracts/pulls/comments/170913437"},"html":{"href":"https://github.com/golemfactory/golem-contracts/pull/20#discussion_r170913437"},"pull_request":{"href":"https://api.github.com/repos/golemfactory/golem-contracts/pulls/20"}},"in_reply_to_id":170881635},"pull_request":{"url":"https://api.github.com/repos/golemfactory/golem-contracts/pulls/20","id":170980696,"html_url":"https://github.com/golemfactory/golem-contracts/pull/20","diff_url":"https://github.com/golemfactory/golem-contracts/pull/20.diff","patch_url":"https://github.com/golemfactory/golem-contracts/pull/20.patch","issue_url":"https://api.github.com/repos/golemfactory/golem-contracts/issues/20","number":20,"state":"open","locked":false,"title":"Add TokenProxy contract (untested)","user":{"login":"chfast","id":573380,"avatar_url":"https://avatars1.githubusercontent.com/u/573380?v=4","gravatar_id":"","url":"https://api.github.com/users/chfast","html_url":"https://github.com/chfast","followers_url":"https://api.github.com/users/chfast/followers","following_url":"https://api.github.com/users/chfast/following{/other_user}","gists_url":"https://api.github.com/users/chfast/gists{/gist_id}","starred_url":"https://api.github.com/users/chfast/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chfast/subscriptions","organizations_url":"https://api.github.com/users/chfast/orgs","repos_url":"https://api.github.com/users/chfast/repos","events_url":"https://api.github.com/users/chfast/events{/privacy}","received_events_url":"https://api.github.com/users/chfast/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-02-23T10:28:24Z","updated_at":"2018-02-27T13:03:19Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a40ff5c79b6315610bbd243f7b5d614791fa7f79","assignee":null,"assignees":[],"requested_reviewers":[{"login":"paulperegud","id":247162,"avatar_url":"https://avatars2.githubusercontent.com/u/247162?v=4","gravatar_id":"","url":"https://api.github.com/users/paulperegud","html_url":"https://github.com/paulperegud","followers_url":"https://api.github.com/users/paulperegud/followers","following_url":"https://api.github.com/users/paulperegud/following{/other_user}","gists_url":"https://api.github.com/users/paulperegud/gists{/gist_id}","starred_url":"https://api.github.com/users/paulperegud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paulperegud/subscriptions","organizations_url":"https://api.github.com/users/paulperegud/orgs","repos_url":"https://api.github.com/users/paulperegud/repos","events_url":"https://api.github.com/users/paulperegud/events{/privacy}","received_events_url":"https://api.github.com/users/paulperegud/received_events","type":"User","site_admin":false},{"login":"badb","id":483392,"avatar_url":"https://avatars3.githubusercontent.com/u/483392?v=4","gravatar_id":"","url":"https://api.github.com/users/badb","html_url":"https://github.com/badb","followers_url":"https://api.github.com/users/badb/followers","following_url":"https://api.github.com/users/badb/following{/other_user}","gists_url":"https://api.github.com/users/badb/gists{/gist_id}","starred_url":"https://api.github.com/users/badb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/badb/subscriptions","organizations_url":"https://api.github.com/users/badb/orgs","repos_url":"https://api.github.com/users/badb/repos","events_url":"https://api.github.com/users/badb/events{/privacy}","received_events_url":"https://api.github.com/users/badb/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/golemfactory/golem-contracts/pulls/20/commits","review_comments_url":"https://api.github.com/repos/golemfactory/golem-contracts/pulls/20/comments","review_comment_url":"https://api.github.com/repos/golemfactory/golem-contracts/pulls/comments{/number}","comments_url":"https://api.github.com/repos/golemfactory/golem-contracts/issues/20/comments","statuses_url":"https://api.github.com/repos/golemfactory/golem-contracts/statuses/afaa269c4071af63599dac685d2e5923367e19f5","head":{"label":"golemfactory:tokenproxy","ref":"tokenproxy","sha":"afaa269c4071af63599dac685d2e5923367e19f5","user":{"login":"golemfactory","id":23193179,"avatar_url":"https://avatars1.githubusercontent.com/u/23193179?v=4","gravatar_id":"","url":"https://api.github.com/users/golemfactory","html_url":"https://github.com/golemfactory","followers_url":"https://api.github.com/users/golemfactory/followers","following_url":"https://api.github.com/users/golemfactory/following{/other_user}","gists_url":"https://api.github.com/users/golemfactory/gists{/gist_id}","starred_url":"https://api.github.com/users/golemfactory/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/golemfactory/subscriptions","organizations_url":"https://api.github.com/users/golemfactory/orgs","repos_url":"https://api.github.com/users/golemfactory/repos","events_url":"https://api.github.com/users/golemfactory/events{/privacy}","received_events_url":"https://api.github.com/users/golemfactory/received_events","type":"Organization","site_admin":false},"repo":{"id":108125775,"name":"golem-contracts","full_name":"golemfactory/golem-contracts","owner":{"login":"golemfactory","id":23193179,"avatar_url":"https://avatars1.githubusercontent.com/u/23193179?v=4","gravatar_id":"","url":"https://api.github.com/users/golemfactory","html_url":"https://github.com/golemfactory","followers_url":"https://api.github.com/users/golemfactory/followers","following_url":"https://api.github.com/users/golemfactory/following{/other_user}","gists_url":"https://api.github.com/users/golemfactory/gists{/gist_id}","starred_url":"https://api.github.com/users/golemfactory/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/golemfactory/subscriptions","organizations_url":"https://api.github.com/users/golemfactory/orgs","repos_url":"https://api.github.com/users/golemfactory/repos","events_url":"https://api.github.com/users/golemfactory/events{/privacy}","received_events_url":"https://api.github.com/users/golemfactory/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/golemfactory/golem-contracts","description":null,"fork":false,"url":"https://api.github.com/repos/golemfactory/golem-contracts","forks_url":"https://api.github.com/repos/golemfactory/golem-contracts/forks","keys_url":"https://api.github.com/repos/golemfactory/golem-contracts/keys{/key_id}","collaborators_url":"https://api.github.com/repos/golemfactory/golem-contracts/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/golemfactory/golem-contracts/teams","hooks_url":"https://api.github.com/repos/golemfactory/golem-contracts/hooks","issue_events_url":"https://api.github.com/repos/golemfactory/golem-contracts/issues/events{/number}","events_url":"https://api.github.com/repos/golemfactory/golem-contracts/events","assignees_url":"https://api.github.com/repos/golemfactory/golem-contracts/assignees{/user}","branches_url":"https://api.github.com/repos/golemfactory/golem-contracts/branches{/branch}","tags_url":"https://api.github.com/repos/golemfactory/golem-contracts/tags","blobs_url":"https://api.github.com/repos/golemfactory/golem-contracts/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/golemfactory/golem-contracts/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/golemfactory/golem-contracts/git/refs{/sha}","trees_url":"https://api.github.com/repos/golemfactory/golem-contracts/git/trees{/sha}","statuses_url":"https://api.github.com/repos/golemfactory/golem-contracts/statuses/{sha}","languages_url":"https://api.github.com/repos/golemfactory/golem-contracts/languages","stargazers_url":"https://api.github.com/repos/golemfactory/golem-contracts/stargazers","contributors_url":"https://api.github.com/repos/golemfactory/golem-contracts/contributors","subscribers_url":"https://api.github.com/repos/golemfactory/golem-contracts/subscribers","subscription_url":"https://api.github.com/repos/golemfactory/golem-contracts/subscription","commits_url":"https://api.github.com/repos/golemfactory/golem-contracts/commits{/sha}","git_commits_url":"https://api.github.com/repos/golemfactory/golem-contracts/git/commits{/sha}","comments_url":"https://api.github.com/repos/golemfactory/golem-contracts/comments{/number}","issue_comment_url":"https://api.github.com/repos/golemfactory/golem-contracts/issues/comments{/number}","contents_url":"https://api.github.com/repos/golemfactory/golem-contracts/contents/{+path}","compare_url":"https://api.github.com/repos/golemfactory/golem-contracts/compare/{base}...{head}","merges_url":"https://api.github.com/repos/golemfactory/golem-contracts/merges","archive_url":"https://api.github.com/repos/golemfactory/golem-contracts/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/golemfactory/golem-contracts/downloads","issues_url":"https://api.github.com/repos/golemfactory/golem-contracts/issues{/number}","pulls_url":"https://api.github.com/repos/golemfactory/golem-contracts/pulls{/number}","milestones_url":"https://api.github.com/repos/golemfactory/golem-contracts/milestones{/number}","notifications_url":"https://api.github.com/repos/golemfactory/golem-contracts/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/golemfactory/golem-contracts/labels{/name}","releases_url":"https://api.github.com/repos/golemfactory/golem-contracts/releases{/id}","deployments_url":"https://api.github.com/repos/golemfactory/golem-contracts/deployments","created_at":"2017-10-24T12:48:22Z","updated_at":"2018-02-22T01:44:32Z","pushed_at":"2018-02-26T13:01:24Z","git_url":"git://github.com/golemfactory/golem-contracts.git","ssh_url":"git@github.com:golemfactory/golem-contracts.git","clone_url":"https://github.com/golemfactory/golem-contracts.git","svn_url":"https://github.com/golemfactory/golem-contracts","homepage":null,"size":83,"stargazers_count":4,"watchers_count":4,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":4,"license":null,"forks":1,"open_issues":4,"watchers":4,"default_branch":"master"}},"base":{"label":"golemfactory:master","ref":"master","sha":"c07ca782018dca34efc58bdbeeacfe69dae95700","user":{"login":"golemfactory","id":23193179,"avatar_url":"https://avatars1.githubusercontent.com/u/23193179?v=4","gravatar_id":"","url":"https://api.github.com/users/golemfactory","html_url":"https://github.com/golemfactory","followers_url":"https://api.github.com/users/golemfactory/followers","following_url":"https://api.github.com/users/golemfactory/following{/other_user}","gists_url":"https://api.github.com/users/golemfactory/gists{/gist_id}","starred_url":"https://api.github.com/users/golemfactory/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/golemfactory/subscriptions","organizations_url":"https://api.github.com/users/golemfactory/orgs","repos_url":"https://api.github.com/users/golemfactory/repos","events_url":"https://api.github.com/users/golemfactory/events{/privacy}","received_events_url":"https://api.github.com/users/golemfactory/received_events","type":"Organization","site_admin":false},"repo":{"id":108125775,"name":"golem-contracts","full_name":"golemfactory/golem-contracts","owner":{"login":"golemfactory","id":23193179,"avatar_url":"https://avatars1.githubusercontent.com/u/23193179?v=4","gravatar_id":"","url":"https://api.github.com/users/golemfactory","html_url":"https://github.com/golemfactory","followers_url":"https://api.github.com/users/golemfactory/followers","following_url":"https://api.github.com/users/golemfactory/following{/other_user}","gists_url":"https://api.github.com/users/golemfactory/gists{/gist_id}","starred_url":"https://api.github.com/users/golemfactory/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/golemfactory/subscriptions","organizations_url":"https://api.github.com/users/golemfactory/orgs","repos_url":"https://api.github.com/users/golemfactory/repos","events_url":"https://api.github.com/users/golemfactory/events{/privacy}","received_events_url":"https://api.github.com/users/golemfactory/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/golemfactory/golem-contracts","description":null,"fork":false,"url":"https://api.github.com/repos/golemfactory/golem-contracts","forks_url":"https://api.github.com/repos/golemfactory/golem-contracts/forks","keys_url":"https://api.github.com/repos/golemfactory/golem-contracts/keys{/key_id}","collaborators_url":"https://api.github.com/repos/golemfactory/golem-contracts/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/golemfactory/golem-contracts/teams","hooks_url":"https://api.github.com/repos/golemfactory/golem-contracts/hooks","issue_events_url":"https://api.github.com/repos/golemfactory/golem-contracts/issues/events{/number}","events_url":"https://api.github.com/repos/golemfactory/golem-contracts/events","assignees_url":"https://api.github.com/repos/golemfactory/golem-contracts/assignees{/user}","branches_url":"https://api.github.com/repos/golemfactory/golem-contracts/branches{/branch}","tags_url":"https://api.github.com/repos/golemfactory/golem-contracts/tags","blobs_url":"https://api.github.com/repos/golemfactory/golem-contracts/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/golemfactory/golem-contracts/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/golemfactory/golem-contracts/git/refs{/sha}","trees_url":"https://api.github.com/repos/golemfactory/golem-contracts/git/trees{/sha}","statuses_url":"https://api.github.com/repos/golemfactory/golem-contracts/statuses/{sha}","languages_url":"https://api.github.com/repos/golemfactory/golem-contracts/languages","stargazers_url":"https://api.github.com/repos/golemfactory/golem-contracts/stargazers","contributors_url":"https://api.github.com/repos/golemfactory/golem-contracts/contributors","subscribers_url":"https://api.github.com/repos/golemfactory/golem-contracts/subscribers","subscription_url":"https://api.github.com/repos/golemfactory/golem-contracts/subscription","commits_url":"https://api.github.com/repos/golemfactory/golem-contracts/commits{/sha}","git_commits_url":"https://api.github.com/repos/golemfactory/golem-contracts/git/commits{/sha}","comments_url":"https://api.github.com/repos/golemfactory/golem-contracts/comments{/number}","issue_comment_url":"https://api.github.com/repos/golemfactory/golem-contracts/issues/comments{/number}","contents_url":"https://api.github.com/repos/golemfactory/golem-contracts/contents/{+path}","compare_url":"https://api.github.com/repos/golemfactory/golem-contracts/compare/{base}...{head}","merges_url":"https://api.github.com/repos/golemfactory/golem-contracts/merges","archive_url":"https://api.github.com/repos/golemfactory/golem-contracts/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/golemfactory/golem-contracts/downloads","issues_url":"https://api.github.com/repos/golemfactory/golem-contracts/issues{/number}","pulls_url":"https://api.github.com/repos/golemfactory/golem-contracts/pulls{/number}","milestones_url":"https://api.github.com/repos/golemfactory/golem-contracts/milestones{/number}","notifications_url":"https://api.github.com/repos/golemfactory/golem-contracts/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/golemfactory/golem-contracts/labels{/name}","releases_url":"https://api.github.com/repos/golemfactory/golem-contracts/releases{/id}","deployments_url":"https://api.github.com/repos/golemfactory/golem-contracts/deployments","created_at":"2017-10-24T12:48:22Z","updated_at":"2018-02-22T01:44:32Z","pushed_at":"2018-02-26T13:01:24Z","git_url":"git://github.com/golemfactory/golem-contracts.git","ssh_url":"git@github.com:golemfactory/golem-contracts.git","clone_url":"https://github.com/golemfactory/golem-contracts.git","svn_url":"https://github.com/golemfactory/golem-contracts","homepage":null,"size":83,"stargazers_count":4,"watchers_count":4,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":4,"license":null,"forks":1,"open_issues":4,"watchers":4,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/golemfactory/golem-contracts/pulls/20"},"html":{"href":"https://github.com/golemfactory/golem-contracts/pull/20"},"issue":{"href":"https://api.github.com/repos/golemfactory/golem-contracts/issues/20"},"comments":{"href":"https://api.github.com/repos/golemfactory/golem-contracts/issues/20/comments"},"review_comments":{"href":"https://api.github.com/repos/golemfactory/golem-contracts/pulls/20/comments"},"review_comment":{"href":"https://api.github.com/repos/golemfactory/golem-contracts/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/golemfactory/golem-contracts/pulls/20/commits"},"statuses":{"href":"https://api.github.com/repos/golemfactory/golem-contracts/statuses/afaa269c4071af63599dac685d2e5923367e19f5"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"chfast"}}