payload: {"action":"created","comment":{"url":"https://api.github.com/repos/celo-org/celo-blockchain/pulls/comments/307026925","pull_request_review_id":266293041,"id":307026925,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDMwNzAyNjkyNQ==","diff_hunk":"@@ -252,6 +252,14 @@ func (self *StateDB) GetCodeHash(addr common.Address) common.Hash {\n \treturn common.BytesToHash(stateObject.CodeHash())\n }\n \n+func (self *StateDB) GetStorageRoot(addr common.Address) common.Hash {","path":"core/state/statedb.go","position":null,"original_position":4,"commit_id":"193b99a29fcdbdcd5c5831d3ad8f838d5f334e34","original_commit_id":"b47efcfb3dc4cbb242e89eb3375b37ab23035abe","user":{"login":"jarmg","id":15115018,"node_id":"MDQ6VXNlcjE1MTE1MDE4","avatar_url":"https://avatars0.githubusercontent.com/u/15115018?v=4","gravatar_id":"","url":"https://api.github.com/users/jarmg","html_url":"https://github.com/jarmg","followers_url":"https://api.github.com/users/jarmg/followers","following_url":"https://api.github.com/users/jarmg/following{/other_user}","gists_url":"https://api.github.com/users/jarmg/gists{/gist_id}","starred_url":"https://api.github.com/users/jarmg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jarmg/subscriptions","organizations_url":"https://api.github.com/users/jarmg/orgs","repos_url":"https://api.github.com/users/jarmg/repos","events_url":"https://api.github.com/users/jarmg/events{/privacy}","received_events_url":"https://api.github.com/users/jarmg/received_events","type":"User","site_admin":false},"body":"👍 ","created_at":"2019-07-24T21:21:02Z","updated_at":"2019-07-24T21:21:02Z","html_url":"https://github.com/celo-org/celo-blockchain/pull/317#discussion_r307026925","pull_request_url":"https://api.github.com/repos/celo-org/celo-blockchain/pulls/317","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/celo-org/celo-blockchain/pulls/comments/307026925"},"html":{"href":"https://github.com/celo-org/celo-blockchain/pull/317#discussion_r307026925"},"pull_request":{"href":"https://api.github.com/repos/celo-org/celo-blockchain/pulls/317"}},"in_reply_to_id":306501236},"pull_request":{"url":"https://api.github.com/repos/celo-org/celo-blockchain/pulls/317","id":293597611,"node_id":"MDExOlB1bGxSZXF1ZXN0MjkzNTk3NjEx","html_url":"https://github.com/celo-org/celo-blockchain/pull/317","diff_url":"https://github.com/celo-org/celo-blockchain/pull/317.diff","patch_url":"https://github.com/celo-org/celo-blockchain/pull/317.patch","issue_url":"https://api.github.com/repos/celo-org/celo-blockchain/issues/317","number":317,"state":"open","locked":false,"title":"Rebuild ievmh","user":{"login":"kevjue","id":7953309,"node_id":"MDQ6VXNlcjc5NTMzMDk=","avatar_url":"https://avatars2.githubusercontent.com/u/7953309?v=4","gravatar_id":"","url":"https://api.github.com/users/kevjue","html_url":"https://github.com/kevjue","followers_url":"https://api.github.com/users/kevjue/followers","following_url":"https://api.github.com/users/kevjue/following{/other_user}","gists_url":"https://api.github.com/users/kevjue/gists{/gist_id}","starred_url":"https://api.github.com/users/kevjue/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kevjue/subscriptions","organizations_url":"https://api.github.com/users/kevjue/orgs","repos_url":"https://api.github.com/users/kevjue/repos","events_url":"https://api.github.com/users/kevjue/events{/privacy}","received_events_url":"https://api.github.com/users/kevjue/received_events","type":"User","site_admin":false},"body":"### Description\r\nThis change rebuilds the way we do EVM calls throughout the system. Many components of geth make smart contract calls from geth itself (rather than from a client call). In doing this, we had built a series of objects (`random`, `gasPriceMinimum`, `gasCurrencyWhitelist`, `currencyOperator`, `addressRegistry`) which were all passed around, held independent caches, and had to be kept in sync. This pattern began to cause issues with keeping nodes in sync and generally added a lot of complexity to the geth code base.  \r\n\r\nThis change destroys all of these objects, removes them as struct members, and builds a collection of functions that deal with these contract specific concerns. We also introduce a new directory, `contract_comm` which is meant to deal with all contract communication throughout geth.\r\n\r\n### Tested\r\n- Geth tests and e2e tests were run. No tests were added.\r\n\r\n### Other changes\r\n- Refactored the `header`, `state` parameter order to make sure all functions that accept both are in this order (some were `state`, `header`)\r\n\r\n### Related issues\r\n- Fixes #288\r\n\r\n### Backwards compatibility\r\n- This does not make any changes to the protocol and thus should be backwards compatible","created_at":"2019-07-02T06:12:02Z","updated_at":"2019-07-24T21:21:02Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a23f05af9d6b141e823f7130de578b8bf116caec","assignee":{"login":"asaj","id":3280356,"node_id":"MDQ6VXNlcjMyODAzNTY=","avatar_url":"https://avatars1.githubusercontent.com/u/3280356?v=4","gravatar_id":"","url":"https://api.github.com/users/asaj","html_url":"https://github.com/asaj","followers_url":"https://api.github.com/users/asaj/followers","following_url":"https://api.github.com/users/asaj/following{/other_user}","gists_url":"https://api.github.com/users/asaj/gists{/gist_id}","starred_url":"https://api.github.com/users/asaj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/asaj/subscriptions","organizations_url":"https://api.github.com/users/asaj/orgs","repos_url":"https://api.github.com/users/asaj/repos","events_url":"https://api.github.com/users/asaj/events{/privacy}","received_events_url":"https://api.github.com/users/asaj/received_events","type":"User","site_admin":false},"assignees":[{"login":"asaj","id":3280356,"node_id":"MDQ6VXNlcjMyODAzNTY=","avatar_url":"https://avatars1.githubusercontent.com/u/3280356?v=4","gravatar_id":"","url":"https://api.github.com/users/asaj","html_url":"https://github.com/asaj","followers_url":"https://api.github.com/users/asaj/followers","following_url":"https://api.github.com/users/asaj/following{/other_user}","gists_url":"https://api.github.com/users/asaj/gists{/gist_id}","starred_url":"https://api.github.com/users/asaj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/asaj/subscriptions","organizations_url":"https://api.github.com/users/asaj/orgs","repos_url":"https://api.github.com/users/asaj/repos","events_url":"https://api.github.com/users/asaj/events{/privacy}","received_events_url":"https://api.github.com/users/asaj/received_events","type":"User","site_admin":false},{"login":"jarmg","id":15115018,"node_id":"MDQ6VXNlcjE1MTE1MDE4","avatar_url":"https://avatars0.githubusercontent.com/u/15115018?v=4","gravatar_id":"","url":"https://api.github.com/users/jarmg","html_url":"https://github.com/jarmg","followers_url":"https://api.github.com/users/jarmg/followers","following_url":"https://api.github.com/users/jarmg/following{/other_user}","gists_url":"https://api.github.com/users/jarmg/gists{/gist_id}","starred_url":"https://api.github.com/users/jarmg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jarmg/subscriptions","organizations_url":"https://api.github.com/users/jarmg/orgs","repos_url":"https://api.github.com/users/jarmg/repos","events_url":"https://api.github.com/users/jarmg/events{/privacy}","received_events_url":"https://api.github.com/users/jarmg/received_events","type":"User","site_admin":false},{"login":"m-chrzan","id":16142976,"node_id":"MDQ6VXNlcjE2MTQyOTc2","avatar_url":"https://avatars0.githubusercontent.com/u/16142976?v=4","gravatar_id":"","url":"https://api.github.com/users/m-chrzan","html_url":"https://github.com/m-chrzan","followers_url":"https://api.github.com/users/m-chrzan/followers","following_url":"https://api.github.com/users/m-chrzan/following{/other_user}","gists_url":"https://api.github.com/users/m-chrzan/gists{/gist_id}","starred_url":"https://api.github.com/users/m-chrzan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/m-chrzan/subscriptions","organizations_url":"https://api.github.com/users/m-chrzan/orgs","repos_url":"https://api.github.com/users/m-chrzan/repos","events_url":"https://api.github.com/users/m-chrzan/events{/privacy}","received_events_url":"https://api.github.com/users/m-chrzan/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":1068057898,"node_id":"MDU6TGFiZWwxMDY4MDU3ODk4","url":"https://api.github.com/repos/celo-org/celo-blockchain/labels/celo-blockchain","name":"celo-blockchain","color":"fcb3b8","default":false},{"id":1086181777,"node_id":"MDU6TGFiZWwxMDg2MTgxNzc3","url":"https://api.github.com/repos/celo-org/celo-blockchain/labels/protocol","name":"protocol","color":"4ed8d4","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/celo-org/celo-blockchain/pulls/317/commits","review_comments_url":"https://api.github.com/repos/celo-org/celo-blockchain/pulls/317/comments","review_comment_url":"https://api.github.com/repos/celo-org/celo-blockchain/pulls/comments{/number}","comments_url":"https://api.github.com/repos/celo-org/celo-blockchain/issues/317/comments","statuses_url":"https://api.github.com/repos/celo-org/celo-blockchain/statuses/193b99a29fcdbdcd5c5831d3ad8f838d5f334e34","head":{"label":"celo-org:rebuild_ievmh","ref":"rebuild_ievmh","sha":"193b99a29fcdbdcd5c5831d3ad8f838d5f334e34","user":{"login":"celo-org","id":37552875,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM3NTUyODc1","avatar_url":"https://avatars2.githubusercontent.com/u/37552875?v=4","gravatar_id":"","url":"https://api.github.com/users/celo-org","html_url":"https://github.com/celo-org","followers_url":"https://api.github.com/users/celo-org/followers","following_url":"https://api.github.com/users/celo-org/following{/other_user}","gists_url":"https://api.github.com/users/celo-org/gists{/gist_id}","starred_url":"https://api.github.com/users/celo-org/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/celo-org/subscriptions","organizations_url":"https://api.github.com/users/celo-org/orgs","repos_url":"https://api.github.com/users/celo-org/repos","events_url":"https://api.github.com/users/celo-org/events{/privacy}","received_events_url":"https://api.github.com/users/celo-org/received_events","type":"Organization","site_admin":false},"repo":{"id":126412552,"node_id":"MDEwOlJlcG9zaXRvcnkxMjY0MTI1NTI=","name":"celo-blockchain","full_name":"celo-org/celo-blockchain","private":false,"owner":{"login":"celo-org","id":37552875,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM3NTUyODc1","avatar_url":"https://avatars2.githubusercontent.com/u/37552875?v=4","gravatar_id":"","url":"https://api.github.com/users/celo-org","html_url":"https://github.com/celo-org","followers_url":"https://api.github.com/users/celo-org/followers","following_url":"https://api.github.com/users/celo-org/following{/other_user}","gists_url":"https://api.github.com/users/celo-org/gists{/gist_id}","starred_url":"https://api.github.com/users/celo-org/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/celo-org/subscriptions","organizations_url":"https://api.github.com/users/celo-org/orgs","repos_url":"https://api.github.com/users/celo-org/repos","events_url":"https://api.github.com/users/celo-org/events{/privacy}","received_events_url":"https://api.github.com/users/celo-org/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/celo-org/celo-blockchain","description":"Official repository for the golang Celo Blockchain","fork":false,"url":"https://api.github.com/repos/celo-org/celo-blockchain","forks_url":"https://api.github.com/repos/celo-org/celo-blockchain/forks","keys_url":"https://api.github.com/repos/celo-org/celo-blockchain/keys{/key_id}","collaborators_url":"https://api.github.com/repos/celo-org/celo-blockchain/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/celo-org/celo-blockchain/teams","hooks_url":"https://api.github.com/repos/celo-org/celo-blockchain/hooks","issue_events_url":"https://api.github.com/repos/celo-org/celo-blockchain/issues/events{/number}","events_url":"https://api.github.com/repos/celo-org/celo-blockchain/events","assignees_url":"https://api.github.com/repos/celo-org/celo-blockchain/assignees{/user}","branches_url":"https://api.github.com/repos/celo-org/celo-blockchain/branches{/branch}","tags_url":"https://api.github.com/repos/celo-org/celo-blockchain/tags","blobs_url":"https://api.github.com/repos/celo-org/celo-blockchain/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/celo-org/celo-blockchain/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/celo-org/celo-blockchain/git/refs{/sha}","trees_url":"https://api.github.com/repos/celo-org/celo-blockchain/git/trees{/sha}","statuses_url":"https://api.github.com/repos/celo-org/celo-blockchain/statuses/{sha}","languages_url":"https://api.github.com/repos/celo-org/celo-blockchain/languages","stargazers_url":"https://api.github.com/repos/celo-org/celo-blockchain/stargazers","contributors_url":"https://api.github.com/repos/celo-org/celo-blockchain/contributors","subscribers_url":"https://api.github.com/repos/celo-org/celo-blockchain/subscribers","subscription_url":"https://api.github.com/repos/celo-org/celo-blockchain/subscription","commits_url":"https://api.github.com/repos/celo-org/celo-blockchain/commits{/sha}","git_commits_url":"https://api.github.com/repos/celo-org/celo-blockchain/git/commits{/sha}","comments_url":"https://api.github.com/repos/celo-org/celo-blockchain/comments{/number}","issue_comment_url":"https://api.github.com/repos/celo-org/celo-blockchain/issues/comments{/number}","contents_url":"https://api.github.com/repos/celo-org/celo-blockchain/contents/{+path}","compare_url":"https://api.github.com/repos/celo-org/celo-blockchain/compare/{base}...{head}","merges_url":"https://api.github.com/repos/celo-org/celo-blockchain/merges","archive_url":"https://api.github.com/repos/celo-org/celo-blockchain/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/celo-org/celo-blockchain/downloads","issues_url":"https://api.github.com/repos/celo-org/celo-blockchain/issues{/number}","pulls_url":"https://api.github.com/repos/celo-org/celo-blockchain/pulls{/number}","milestones_url":"https://api.github.com/repos/celo-org/celo-blockchain/milestones{/number}","notifications_url":"https://api.github.com/repos/celo-org/celo-blockchain/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/celo-org/celo-blockchain/labels{/name}","releases_url":"https://api.github.com/repos/celo-org/celo-blockchain/releases{/id}","deployments_url":"https://api.github.com/repos/celo-org/celo-blockchain/deployments","created_at":"2018-03-23T00:51:51Z","updated_at":"2019-07-24T00:39:03Z","pushed_at":"2019-07-24T20:47:30Z","git_url":"git://github.com/celo-org/celo-blockchain.git","ssh_url":"git@github.com:celo-org/celo-blockchain.git","clone_url":"https://github.com/celo-org/celo-blockchain.git","svn_url":"https://github.com/celo-org/celo-blockchain","homepage":"https://celo.org","size":953265,"stargazers_count":34,"watchers_count":34,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":58,"license":{"key":"lgpl-3.0","name":"GNU Lesser General Public License v3.0","spdx_id":"LGPL-3.0","url":"https://api.github.com/licenses/lgpl-3.0","node_id":"MDc6TGljZW5zZTEy"},"forks":1,"open_issues":58,"watchers":34,"default_branch":"master"}},"base":{"label":"celo-org:master","ref":"master","sha":"472197709f2558ee7d4f47d723735f58e143c1ec","user":{"login":"celo-org","id":37552875,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM3NTUyODc1","avatar_url":"https://avatars2.githubusercontent.com/u/37552875?v=4","gravatar_id":"","url":"https://api.github.com/users/celo-org","html_url":"https://github.com/celo-org","followers_url":"https://api.github.com/users/celo-org/followers","following_url":"https://api.github.com/users/celo-org/following{/other_user}","gists_url":"https://api.github.com/users/celo-org/gists{/gist_id}","starred_url":"https://api.github.com/users/celo-org/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/celo-org/subscriptions","organizations_url":"https://api.github.com/users/celo-org/orgs","repos_url":"https://api.github.com/users/celo-org/repos","events_url":"https://api.github.com/users/celo-org/events{/privacy}","received_events_url":"https://api.github.com/users/celo-org/received_events","type":"Organization","site_admin":false},"repo":{"id":126412552,"node_id":"MDEwOlJlcG9zaXRvcnkxMjY0MTI1NTI=","name":"celo-blockchain","full_name":"celo-org/celo-blockchain","private":false,"owner":{"login":"celo-org","id":37552875,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM3NTUyODc1","avatar_url":"https://avatars2.githubusercontent.com/u/37552875?v=4","gravatar_id":"","url":"https://api.github.com/users/celo-org","html_url":"https://github.com/celo-org","followers_url":"https://api.github.com/users/celo-org/followers","following_url":"https://api.github.com/users/celo-org/following{/other_user}","gists_url":"https://api.github.com/users/celo-org/gists{/gist_id}","starred_url":"https://api.github.com/users/celo-org/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/celo-org/subscriptions","organizations_url":"https://api.github.com/users/celo-org/orgs","repos_url":"https://api.github.com/users/celo-org/repos","events_url":"https://api.github.com/users/celo-org/events{/privacy}","received_events_url":"https://api.github.com/users/celo-org/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/celo-org/celo-blockchain","description":"Official repository for the golang Celo Blockchain","fork":false,"url":"https://api.github.com/repos/celo-org/celo-blockchain","forks_url":"https://api.github.com/repos/celo-org/celo-blockchain/forks","keys_url":"https://api.github.com/repos/celo-org/celo-blockchain/keys{/key_id}","collaborators_url":"https://api.github.com/repos/celo-org/celo-blockchain/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/celo-org/celo-blockchain/teams","hooks_url":"https://api.github.com/repos/celo-org/celo-blockchain/hooks","issue_events_url":"https://api.github.com/repos/celo-org/celo-blockchain/issues/events{/number}","events_url":"https://api.github.com/repos/celo-org/celo-blockchain/events","assignees_url":"https://api.github.com/repos/celo-org/celo-blockchain/assignees{/user}","branches_url":"https://api.github.com/repos/celo-org/celo-blockchain/branches{/branch}","tags_url":"https://api.github.com/repos/celo-org/celo-blockchain/tags","blobs_url":"https://api.github.com/repos/celo-org/celo-blockchain/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/celo-org/celo-blockchain/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/celo-org/celo-blockchain/git/refs{/sha}","trees_url":"https://api.github.com/repos/celo-org/celo-blockchain/git/trees{/sha}","statuses_url":"https://api.github.com/repos/celo-org/celo-blockchain/statuses/{sha}","languages_url":"https://api.github.com/repos/celo-org/celo-blockchain/languages","stargazers_url":"https://api.github.com/repos/celo-org/celo-blockchain/stargazers","contributors_url":"https://api.github.com/repos/celo-org/celo-blockchain/contributors","subscribers_url":"https://api.github.com/repos/celo-org/celo-blockchain/subscribers","subscription_url":"https://api.github.com/repos/celo-org/celo-blockchain/subscription","commits_url":"https://api.github.com/repos/celo-org/celo-blockchain/commits{/sha}","git_commits_url":"https://api.github.com/repos/celo-org/celo-blockchain/git/commits{/sha}","comments_url":"https://api.github.com/repos/celo-org/celo-blockchain/comments{/number}","issue_comment_url":"https://api.github.com/repos/celo-org/celo-blockchain/issues/comments{/number}","contents_url":"https://api.github.com/repos/celo-org/celo-blockchain/contents/{+path}","compare_url":"https://api.github.com/repos/celo-org/celo-blockchain/compare/{base}...{head}","merges_url":"https://api.github.com/repos/celo-org/celo-blockchain/merges","archive_url":"https://api.github.com/repos/celo-org/celo-blockchain/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/celo-org/celo-blockchain/downloads","issues_url":"https://api.github.com/repos/celo-org/celo-blockchain/issues{/number}","pulls_url":"https://api.github.com/repos/celo-org/celo-blockchain/pulls{/number}","milestones_url":"https://api.github.com/repos/celo-org/celo-blockchain/milestones{/number}","notifications_url":"https://api.github.com/repos/celo-org/celo-blockchain/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/celo-org/celo-blockchain/labels{/name}","releases_url":"https://api.github.com/repos/celo-org/celo-blockchain/releases{/id}","deployments_url":"https://api.github.com/repos/celo-org/celo-blockchain/deployments","created_at":"2018-03-23T00:51:51Z","updated_at":"2019-07-24T00:39:03Z","pushed_at":"2019-07-24T20:47:30Z","git_url":"git://github.com/celo-org/celo-blockchain.git","ssh_url":"git@github.com:celo-org/celo-blockchain.git","clone_url":"https://github.com/celo-org/celo-blockchain.git","svn_url":"https://github.com/celo-org/celo-blockchain","homepage":"https://celo.org","size":953265,"stargazers_count":34,"watchers_count":34,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":58,"license":{"key":"lgpl-3.0","name":"GNU Lesser General Public License v3.0","spdx_id":"LGPL-3.0","url":"https://api.github.com/licenses/lgpl-3.0","node_id":"MDc6TGljZW5zZTEy"},"forks":1,"open_issues":58,"watchers":34,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/celo-org/celo-blockchain/pulls/317"},"html":{"href":"https://github.com/celo-org/celo-blockchain/pull/317"},"issue":{"href":"https://api.github.com/repos/celo-org/celo-blockchain/issues/317"},"comments":{"href":"https://api.github.com/repos/celo-org/celo-blockchain/issues/317/comments"},"review_comments":{"href":"https://api.github.com/repos/celo-org/celo-blockchain/pulls/317/comments"},"review_comment":{"href":"https://api.github.com/repos/celo-org/celo-blockchain/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/celo-org/celo-blockchain/pulls/317/commits"},"statuses":{"href":"https://api.github.com/repos/celo-org/celo-blockchain/statuses/193b99a29fcdbdcd5c5831d3ad8f838d5f334e34"}},"author_association":"CONTRIBUTOR"}}
other: {"actor":{"display_login":"jarmg"}}