{"action":"created","comment":{"url":"https://api.github.com/repos/insolar/insolar/pulls/comments/214857333","pull_request_review_id":151995230,"id":214857333,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxNDg1NzMzMw==","diff_hunk":"@@ -102,78 +113,85 @@ func InjectFakeContext(step uint, ctx *CallContext, reset ...bool) {\n \tFakeContexts[step] = ctx\n }\n \n-func (bc *BaseContract) GetImplementationFor(r Reference) BaseContractInterface {\n-\treturn FakeDelegates[bc.MyReference().String()][r.String()]\n-}\n-\n-func GetImplementationFor(o Reference, r Reference) BaseContractInterface {\n+func GetImplementationFor(o Reference, r Reference) ProxyInterface {\n \treturn FakeDelegates[o.String()][r.String()]\n }\n \n-func (bc *BaseContract) GetChildrenTyped(r Reference) []BaseContractInterface {\n-\treturn FakeChildren[bc.MyReference().String()][r.String()]\n+func (bc *BaseContract) GetChildrenTyped(r Reference) []ProxyInterface {\n+\treturn FakeChildren[bc.GetReference().String()][r.String()]\n }\n \n-func SaveToLedger(rec BaseContractInterface) Reference {\n-\tkey := rec.MyReference()\n-\tFakeLedger[key.String()] = rec\n-\treturn key\n+func SaveToLedger(rec BaseContractInterface, class Reference) Reference {\n+\tkey, _ := uuid.NewV4()\n+\trec.SetContext(&CallContext{\n+\t\tMe:    Reference(key.String()),\n+\t\tClass: class,\n+\t})\n+\tFakeLedger[key.String()] = rec.(ProxyInterface)\n+\treturn Reference(key.String())\n }\n \n func GetObject(ref Reference) BaseContractInterface {\n \treturn FakeLedger[ref.String()].(BaseContractInterface)\n }\n \n-func (bc *BaseContract) AddChild(child BaseContractInterface, class Reference) Reference {\n-\tme := bc.MyReference()\n-\tkey := child.MyReference()\n+func (bc *BaseContract) AddAsChildTo(to BaseContractInterface, class Reference) Reference {\n+\tparent := to.GetReference()\n+\tkey, _ := uuid.NewV4()","path":"toolkit/go/foundation/foundation.go","position":119,"original_position":119,"commit_id":"294ef713f79b2be48aa470beb5911468a7d172b6","original_commit_id":"294ef713f79b2be48aa470beb5911468a7d172b6","user":{"login":"golangcibot","id":42910462,"node_id":"MDQ6VXNlcjQyOTEwNDYy","avatar_url":"https://avatars1.githubusercontent.com/u/42910462?v=4","gravatar_id":"","url":"https://api.github.com/users/golangcibot","html_url":"https://github.com/golangcibot","followers_url":"https://api.github.com/users/golangcibot/followers","following_url":"https://api.github.com/users/golangcibot/following{/other_user}","gists_url":"https://api.github.com/users/golangcibot/gists{/gist_id}","starred_url":"https://api.github.com/users/golangcibot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/golangcibot/subscriptions","organizations_url":"https://api.github.com/users/golangcibot/orgs","repos_url":"https://api.github.com/users/golangcibot/repos","events_url":"https://api.github.com/users/golangcibot/events{/privacy}","received_events_url":"https://api.github.com/users/golangcibot/received_events","type":"User","site_admin":false},"body":"G104: Errors unhandled.","created_at":"2018-09-04T10:03:18Z","updated_at":"2018-09-04T10:03:18Z","html_url":"https://github.com/insolar/insolar/pull/126#discussion_r214857333","pull_request_url":"https://api.github.com/repos/insolar/insolar/pulls/126","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/insolar/insolar/pulls/comments/214857333"},"html":{"href":"https://github.com/insolar/insolar/pull/126#discussion_r214857333"},"pull_request":{"href":"https://api.github.com/repos/insolar/insolar/pulls/126"}}},"pull_request":{"url":"https://api.github.com/repos/insolar/insolar/pulls/126","id":212795066,"node_id":"MDExOlB1bGxSZXF1ZXN0MjEyNzk1MDY2","html_url":"https://github.com/insolar/insolar/pull/126","diff_url":"https://github.com/insolar/insolar/pull/126.diff","patch_url":"https://github.com/insolar/insolar/pull/126.patch","issue_url":"https://api.github.com/repos/insolar/insolar/issues/126","number":126,"state":"open","locked":false,"title":"[WIP] Ins 261 proxy interface","user":{"login":"ilyapt","id":22449904,"node_id":"MDQ6VXNlcjIyNDQ5OTA0","avatar_url":"https://avatars0.githubusercontent.com/u/22449904?v=4","gravatar_id":"","url":"https://api.github.com/users/ilyapt","html_url":"https://github.com/ilyapt","followers_url":"https://api.github.com/users/ilyapt/followers","following_url":"https://api.github.com/users/ilyapt/following{/other_user}","gists_url":"https://api.github.com/users/ilyapt/gists{/gist_id}","starred_url":"https://api.github.com/users/ilyapt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ilyapt/subscriptions","organizations_url":"https://api.github.com/users/ilyapt/orgs","repos_url":"https://api.github.com/users/ilyapt/repos","events_url":"https://api.github.com/users/ilyapt/events{/privacy}","received_events_url":"https://api.github.com/users/ilyapt/received_events","type":"User","site_admin":false},"body":"**- What I did**\r\n- added ProxyInterface to foundation\r\n- rewrote some functions in foundation to use ProxyInterface\r\n- fixed smart-contracts and their tests\r\n- added GetReference and GetClass functions to proxy.go.tpl\r\n\r\n**- How to verify it**\r\n- run tests\r\n","created_at":"2018-09-03T17:00:06Z","updated_at":"2018-09-04T10:03:18Z","closed_at":null,"merged_at":null,"merge_commit_sha":"35e98d3e61f7a41af777c72b9ae72071f1bd70fe","assignee":null,"assignees":[],"requested_reviewers":[{"login":"LinnikD","id":6620297,"node_id":"MDQ6VXNlcjY2MjAyOTc=","avatar_url":"https://avatars0.githubusercontent.com/u/6620297?v=4","gravatar_id":"","url":"https://api.github.com/users/LinnikD","html_url":"https://github.com/LinnikD","followers_url":"https://api.github.com/users/LinnikD/followers","following_url":"https://api.github.com/users/LinnikD/following{/other_user}","gists_url":"https://api.github.com/users/LinnikD/gists{/gist_id}","starred_url":"https://api.github.com/users/LinnikD/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LinnikD/subscriptions","organizations_url":"https://api.github.com/users/LinnikD/orgs","repos_url":"https://api.github.com/users/LinnikD/repos","events_url":"https://api.github.com/users/LinnikD/events{/privacy}","received_events_url":"https://api.github.com/users/LinnikD/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/insolar/insolar/pulls/126/commits","review_comments_url":"https://api.github.com/repos/insolar/insolar/pulls/126/comments","review_comment_url":"https://api.github.com/repos/insolar/insolar/pulls/comments{/number}","comments_url":"https://api.github.com/repos/insolar/insolar/issues/126/comments","statuses_url":"https://api.github.com/repos/insolar/insolar/statuses/294ef713f79b2be48aa470beb5911468a7d172b6","head":{"label":"insolar:INS-261-proxy-interface","ref":"INS-261-proxy-interface","sha":"294ef713f79b2be48aa470beb5911468a7d172b6","user":{"login":"insolar","id":31775388,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMxNzc1Mzg4","avatar_url":"https://avatars1.githubusercontent.com/u/31775388?v=4","gravatar_id":"","url":"https://api.github.com/users/insolar","html_url":"https://github.com/insolar","followers_url":"https://api.github.com/users/insolar/followers","following_url":"https://api.github.com/users/insolar/following{/other_user}","gists_url":"https://api.github.com/users/insolar/gists{/gist_id}","starred_url":"https://api.github.com/users/insolar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/insolar/subscriptions","organizations_url":"https://api.github.com/users/insolar/orgs","repos_url":"https://api.github.com/users/insolar/repos","events_url":"https://api.github.com/users/insolar/events{/privacy}","received_events_url":"https://api.github.com/users/insolar/received_events","type":"Organization","site_admin":false},"repo":{"id":139829328,"node_id":"MDEwOlJlcG9zaXRvcnkxMzk4MjkzMjg=","name":"insolar","full_name":"insolar/insolar","owner":{"login":"insolar","id":31775388,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMxNzc1Mzg4","avatar_url":"https://avatars1.githubusercontent.com/u/31775388?v=4","gravatar_id":"","url":"https://api.github.com/users/insolar","html_url":"https://github.com/insolar","followers_url":"https://api.github.com/users/insolar/followers","following_url":"https://api.github.com/users/insolar/following{/other_user}","gists_url":"https://api.github.com/users/insolar/gists{/gist_id}","starred_url":"https://api.github.com/users/insolar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/insolar/subscriptions","organizations_url":"https://api.github.com/users/insolar/orgs","repos_url":"https://api.github.com/users/insolar/repos","events_url":"https://api.github.com/users/insolar/events{/privacy}","received_events_url":"https://api.github.com/users/insolar/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/insolar/insolar","description":"Enterprise blockchain platform","fork":false,"url":"https://api.github.com/repos/insolar/insolar","forks_url":"https://api.github.com/repos/insolar/insolar/forks","keys_url":"https://api.github.com/repos/insolar/insolar/keys{/key_id}","collaborators_url":"https://api.github.com/repos/insolar/insolar/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/insolar/insolar/teams","hooks_url":"https://api.github.com/repos/insolar/insolar/hooks","issue_events_url":"https://api.github.com/repos/insolar/insolar/issues/events{/number}","events_url":"https://api.github.com/repos/insolar/insolar/events","assignees_url":"https://api.github.com/repos/insolar/insolar/assignees{/user}","branches_url":"https://api.github.com/repos/insolar/insolar/branches{/branch}","tags_url":"https://api.github.com/repos/insolar/insolar/tags","blobs_url":"https://api.github.com/repos/insolar/insolar/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/insolar/insolar/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/insolar/insolar/git/refs{/sha}","trees_url":"https://api.github.com/repos/insolar/insolar/git/trees{/sha}","statuses_url":"https://api.github.com/repos/insolar/insolar/statuses/{sha}","languages_url":"https://api.github.com/repos/insolar/insolar/languages","stargazers_url":"https://api.github.com/repos/insolar/insolar/stargazers","contributors_url":"https://api.github.com/repos/insolar/insolar/contributors","subscribers_url":"https://api.github.com/repos/insolar/insolar/subscribers","subscription_url":"https://api.github.com/repos/insolar/insolar/subscription","commits_url":"https://api.github.com/repos/insolar/insolar/commits{/sha}","git_commits_url":"https://api.github.com/repos/insolar/insolar/git/commits{/sha}","comments_url":"https://api.github.com/repos/insolar/insolar/comments{/number}","issue_comment_url":"https://api.github.com/repos/insolar/insolar/issues/comments{/number}","contents_url":"https://api.github.com/repos/insolar/insolar/contents/{+path}","compare_url":"https://api.github.com/repos/insolar/insolar/compare/{base}...{head}","merges_url":"https://api.github.com/repos/insolar/insolar/merges","archive_url":"https://api.github.com/repos/insolar/insolar/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/insolar/insolar/downloads","issues_url":"https://api.github.com/repos/insolar/insolar/issues{/number}","pulls_url":"https://api.github.com/repos/insolar/insolar/pulls{/number}","milestones_url":"https://api.github.com/repos/insolar/insolar/milestones{/number}","notifications_url":"https://api.github.com/repos/insolar/insolar/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/insolar/insolar/labels{/name}","releases_url":"https://api.github.com/repos/insolar/insolar/releases{/id}","deployments_url":"https://api.github.com/repos/insolar/insolar/deployments","created_at":"2018-07-05T09:49:28Z","updated_at":"2018-09-04T09:48:28Z","pushed_at":"2018-09-04T10:02:11Z","git_url":"git://github.com/insolar/insolar.git","ssh_url":"git@github.com:insolar/insolar.git","clone_url":"https://github.com/insolar/insolar.git","svn_url":"https://github.com/insolar/insolar","homepage":"","size":1353,"stargazers_count":35,"watchers_count":35,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":5,"mirror_url":null,"archived":false,"open_issues_count":4,"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":5,"open_issues":4,"watchers":35,"default_branch":"master"}},"base":{"label":"insolar:master","ref":"master","sha":"589d937c57568df44ee194901b4cfcb85a8804a3","user":{"login":"insolar","id":31775388,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMxNzc1Mzg4","avatar_url":"https://avatars1.githubusercontent.com/u/31775388?v=4","gravatar_id":"","url":"https://api.github.com/users/insolar","html_url":"https://github.com/insolar","followers_url":"https://api.github.com/users/insolar/followers","following_url":"https://api.github.com/users/insolar/following{/other_user}","gists_url":"https://api.github.com/users/insolar/gists{/gist_id}","starred_url":"https://api.github.com/users/insolar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/insolar/subscriptions","organizations_url":"https://api.github.com/users/insolar/orgs","repos_url":"https://api.github.com/users/insolar/repos","events_url":"https://api.github.com/users/insolar/events{/privacy}","received_events_url":"https://api.github.com/users/insolar/received_events","type":"Organization","site_admin":false},"repo":{"id":139829328,"node_id":"MDEwOlJlcG9zaXRvcnkxMzk4MjkzMjg=","name":"insolar","full_name":"insolar/insolar","owner":{"login":"insolar","id":31775388,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMxNzc1Mzg4","avatar_url":"https://avatars1.githubusercontent.com/u/31775388?v=4","gravatar_id":"","url":"https://api.github.com/users/insolar","html_url":"https://github.com/insolar","followers_url":"https://api.github.com/users/insolar/followers","following_url":"https://api.github.com/users/insolar/following{/other_user}","gists_url":"https://api.github.com/users/insolar/gists{/gist_id}","starred_url":"https://api.github.com/users/insolar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/insolar/subscriptions","organizations_url":"https://api.github.com/users/insolar/orgs","repos_url":"https://api.github.com/users/insolar/repos","events_url":"https://api.github.com/users/insolar/events{/privacy}","received_events_url":"https://api.github.com/users/insolar/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/insolar/insolar","description":"Enterprise blockchain platform","fork":false,"url":"https://api.github.com/repos/insolar/insolar","forks_url":"https://api.github.com/repos/insolar/insolar/forks","keys_url":"https://api.github.com/repos/insolar/insolar/keys{/key_id}","collaborators_url":"https://api.github.com/repos/insolar/insolar/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/insolar/insolar/teams","hooks_url":"https://api.github.com/repos/insolar/insolar/hooks","issue_events_url":"https://api.github.com/repos/insolar/insolar/issues/events{/number}","events_url":"https://api.github.com/repos/insolar/insolar/events","assignees_url":"https://api.github.com/repos/insolar/insolar/assignees{/user}","branches_url":"https://api.github.com/repos/insolar/insolar/branches{/branch}","tags_url":"https://api.github.com/repos/insolar/insolar/tags","blobs_url":"https://api.github.com/repos/insolar/insolar/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/insolar/insolar/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/insolar/insolar/git/refs{/sha}","trees_url":"https://api.github.com/repos/insolar/insolar/git/trees{/sha}","statuses_url":"https://api.github.com/repos/insolar/insolar/statuses/{sha}","languages_url":"https://api.github.com/repos/insolar/insolar/languages","stargazers_url":"https://api.github.com/repos/insolar/insolar/stargazers","contributors_url":"https://api.github.com/repos/insolar/insolar/contributors","subscribers_url":"https://api.github.com/repos/insolar/insolar/subscribers","subscription_url":"https://api.github.com/repos/insolar/insolar/subscription","commits_url":"https://api.github.com/repos/insolar/insolar/commits{/sha}","git_commits_url":"https://api.github.com/repos/insolar/insolar/git/commits{/sha}","comments_url":"https://api.github.com/repos/insolar/insolar/comments{/number}","issue_comment_url":"https://api.github.com/repos/insolar/insolar/issues/comments{/number}","contents_url":"https://api.github.com/repos/insolar/insolar/contents/{+path}","compare_url":"https://api.github.com/repos/insolar/insolar/compare/{base}...{head}","merges_url":"https://api.github.com/repos/insolar/insolar/merges","archive_url":"https://api.github.com/repos/insolar/insolar/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/insolar/insolar/downloads","issues_url":"https://api.github.com/repos/insolar/insolar/issues{/number}","pulls_url":"https://api.github.com/repos/insolar/insolar/pulls{/number}","milestones_url":"https://api.github.com/repos/insolar/insolar/milestones{/number}","notifications_url":"https://api.github.com/repos/insolar/insolar/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/insolar/insolar/labels{/name}","releases_url":"https://api.github.com/repos/insolar/insolar/releases{/id}","deployments_url":"https://api.github.com/repos/insolar/insolar/deployments","created_at":"2018-07-05T09:49:28Z","updated_at":"2018-09-04T09:48:28Z","pushed_at":"2018-09-04T10:02:11Z","git_url":"git://github.com/insolar/insolar.git","ssh_url":"git@github.com:insolar/insolar.git","clone_url":"https://github.com/insolar/insolar.git","svn_url":"https://github.com/insolar/insolar","homepage":"","size":1353,"stargazers_count":35,"watchers_count":35,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":5,"mirror_url":null,"archived":false,"open_issues_count":4,"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":5,"open_issues":4,"watchers":35,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/insolar/insolar/pulls/126"},"html":{"href":"https://github.com/insolar/insolar/pull/126"},"issue":{"href":"https://api.github.com/repos/insolar/insolar/issues/126"},"comments":{"href":"https://api.github.com/repos/insolar/insolar/issues/126/comments"},"review_comments":{"href":"https://api.github.com/repos/insolar/insolar/pulls/126/comments"},"review_comment":{"href":"https://api.github.com/repos/insolar/insolar/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/insolar/insolar/pulls/126/commits"},"statuses":{"href":"https://api.github.com/repos/insolar/insolar/statuses/294ef713f79b2be48aa470beb5911468a7d172b6"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"golangcibot"}}