{"action":"created","comment":{"url":"https://api.github.com/repos/paritytech/parity-ethereum/pulls/comments/294030424","pull_request_review_id":250173059,"id":294030424,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI5NDAzMDQyNA==","diff_hunk":"@@ -78,39 +78,42 @@ EVM implementation for Parity.\n   Copyright 2015-2019 Parity Technologies (UK) Ltd.\n \n Usage:\n-    parity-evm state-test <file> [--json --std-json --std-dump-json --only NAME --chain CHAIN --std-out-only --std-err-only]\n+    parity-evm state-test <file> [--chain CHAIN --only NAME --json --std-json --std-dump-json --std-out-only --std-err-only]\n     parity-evm stats [options]\n     parity-evm stats-jsontests-vm <file>\n     parity-evm [options]\n     parity-evm [-h | --help]\n \n Commands:\n-    state-test         Run a state test from a json file.\n+    state-test         Run a state test on a provided state test JSON file.\n     stats              Execute EVM runtime code and return the statistics.\n-    stats-jsontests-vm Execute standard json-tests format VMTests and return\n-                       timing statistics in tsv format.\n+    stats-jsontests-vm Execute standard json-tests on a provided state test JSON\n+                       file path, format VMTests, and return timing statistics\n+                       in tsv format.\n \n Transaction options:\n     --code CODE        Contract code as hex (without 0x).\n     --to ADDRESS       Recipient address (without 0x).\n     --from ADDRESS     Sender address (without 0x).\n     --input DATA       Input data as hex (without 0x).\n     --gas GAS          Supplied gas as hex (without 0x).\n-    --gas-price WEI    Supplied gas price as hex (without 0x).\n+    --gas-price GWEI   Supplied gas price as hex (without 0x).","path":"evmbin/src/main.rs","position":39,"original_position":39,"commit_id":"0662a6d56baa0398865c7e13824e04dfc86c1e04","original_commit_id":"0662a6d56baa0398865c7e13824e04dfc86c1e04","user":{"login":"sorpaas","id":6277322,"node_id":"MDQ6VXNlcjYyNzczMjI=","avatar_url":"https://avatars3.githubusercontent.com/u/6277322?v=4","gravatar_id":"","url":"https://api.github.com/users/sorpaas","html_url":"https://github.com/sorpaas","followers_url":"https://api.github.com/users/sorpaas/followers","following_url":"https://api.github.com/users/sorpaas/following{/other_user}","gists_url":"https://api.github.com/users/sorpaas/gists{/gist_id}","starred_url":"https://api.github.com/users/sorpaas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sorpaas/subscriptions","organizations_url":"https://api.github.com/users/sorpaas/orgs","repos_url":"https://api.github.com/users/sorpaas/repos","events_url":"https://api.github.com/users/sorpaas/events{/privacy}","received_events_url":"https://api.github.com/users/sorpaas/received_events","type":"User","site_admin":false},"body":"This may be a backward incompatible change. I have a feeling maybe keeping `WEI` is better because this is supposed to be really raw interface (how do you specify a test requiring 2.1 GWEI gas?).","created_at":"2019-06-15T01:42:43Z","updated_at":"2019-06-15T01:43:56Z","html_url":"https://github.com/paritytech/parity-ethereum/pull/10742#discussion_r294030424","pull_request_url":"https://api.github.com/repos/paritytech/parity-ethereum/pulls/10742","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/paritytech/parity-ethereum/pulls/comments/294030424"},"html":{"href":"https://github.com/paritytech/parity-ethereum/pull/10742#discussion_r294030424"},"pull_request":{"href":"https://api.github.com/repos/paritytech/parity-ethereum/pulls/10742"}}},"pull_request":{"url":"https://api.github.com/repos/paritytech/parity-ethereum/pulls/10742","id":287454291,"node_id":"MDExOlB1bGxSZXF1ZXN0Mjg3NDU0Mjkx","html_url":"https://github.com/paritytech/parity-ethereum/pull/10742","diff_url":"https://github.com/paritytech/parity-ethereum/pull/10742.diff","patch_url":"https://github.com/paritytech/parity-ethereum/pull/10742.patch","issue_url":"https://api.github.com/repos/paritytech/parity-ethereum/issues/10742","number":10742,"state":"open","locked":false,"title":"refactor: Refactor evmbin CLI","user":{"login":"ltfschoen","id":6226175,"node_id":"MDQ6VXNlcjYyMjYxNzU=","avatar_url":"https://avatars0.githubusercontent.com/u/6226175?v=4","gravatar_id":"","url":"https://api.github.com/users/ltfschoen","html_url":"https://github.com/ltfschoen","followers_url":"https://api.github.com/users/ltfschoen/followers","following_url":"https://api.github.com/users/ltfschoen/following{/other_user}","gists_url":"https://api.github.com/users/ltfschoen/gists{/gist_id}","starred_url":"https://api.github.com/users/ltfschoen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ltfschoen/subscriptions","organizations_url":"https://api.github.com/users/ltfschoen/orgs","repos_url":"https://api.github.com/users/ltfschoen/repos","events_url":"https://api.github.com/users/ltfschoen/events{/privacy}","received_events_url":"https://api.github.com/users/ltfschoen/received_events","type":"User","site_admin":false},"body":"* teststate.json uses the `Test` struct and each name contains the `State` struct (see ethjson package)\r\n* create2callPrecompiles.json https://github.com/ethereum/tests/blob/725dbc73a54649e22a00330bd0f4d6699a5060e5/GeneralStateTests/stCreate2/create2callPrecompiles.json#L2 state test JSON file from Ethereum Foundation that's now in the /res directory, as doesn't return a state root mistmatch error like the teststate.json file does.\r\n* Run `parity-evm` binary using state test for example:\r\n```\r\n ./target/release/parity-evm state-test ./evmbin/res/teststate.json --only add12 --chain eip150\r\n ./target/release/parity-evm state-test ./evmbin/res/create2callPrecompiles.json --only create2callPrecompiles --chain Constantinople\r\n```\r\n* Run stats:\r\n```\r\n./target/release/parity-evm stats --to \"0000000000000000000000000000000000000004\" --from \"0000000000000000000000000000000000000003\" --code \"05\" --input \"06\" --gas \"21\" --gas-price \"2\" --chain \"./evmbin/res/testchain.json\" --json\r\n\r\nOutput:\r\n{\"depth\":1,\"gas\":\"0x21\",\"gasCost\":\"0x0\",\"memory\":\"0x\",\"op\":5,\"opName\":\"SDIV\",\"pc\":0,\"stack\":[],\"storage\":{}}\r\n{\"error\":\"EVM: Stack underflow SDIV 2/0\",\"gasUsed\":\"0x21\",\"time\":87}\r\n```\r\nNote: operation SDIV from code: 05 does division and expects two items on the stack, try changing to code: 01 for ADD (addition). For more info do a search for \"SDIV\" across the codebase and read about all the different EVM bytecode instructions.\r\n* Build docs: `cargo doc -p evmbin --release --open --no-deps`","created_at":"2019-06-12T11:00:49Z","updated_at":"2019-06-15T01:43:56Z","closed_at":null,"merged_at":null,"merge_commit_sha":"705a1df4bfb473550cf9007cf5a40885d16fe2d8","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":309708100,"node_id":"MDU6TGFiZWwzMDk3MDgxMDA=","url":"https://api.github.com/repos/paritytech/parity-ethereum/labels/A0-pleasereview%20%F0%9F%A4%93","name":"A0-pleasereview 🤓","color":"666666","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/paritytech/parity-ethereum/pulls/10742/commits","review_comments_url":"https://api.github.com/repos/paritytech/parity-ethereum/pulls/10742/comments","review_comment_url":"https://api.github.com/repos/paritytech/parity-ethereum/pulls/comments{/number}","comments_url":"https://api.github.com/repos/paritytech/parity-ethereum/issues/10742/comments","statuses_url":"https://api.github.com/repos/paritytech/parity-ethereum/statuses/0662a6d56baa0398865c7e13824e04dfc86c1e04","head":{"label":"paritytech:luke-ethjson-refactor","ref":"luke-ethjson-refactor","sha":"0662a6d56baa0398865c7e13824e04dfc86c1e04","user":{"login":"paritytech","id":14176906,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0MTc2OTA2","avatar_url":"https://avatars2.githubusercontent.com/u/14176906?v=4","gravatar_id":"","url":"https://api.github.com/users/paritytech","html_url":"https://github.com/paritytech","followers_url":"https://api.github.com/users/paritytech/followers","following_url":"https://api.github.com/users/paritytech/following{/other_user}","gists_url":"https://api.github.com/users/paritytech/gists{/gist_id}","starred_url":"https://api.github.com/users/paritytech/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paritytech/subscriptions","organizations_url":"https://api.github.com/users/paritytech/orgs","repos_url":"https://api.github.com/users/paritytech/repos","events_url":"https://api.github.com/users/paritytech/events{/privacy}","received_events_url":"https://api.github.com/users/paritytech/received_events","type":"Organization","site_admin":false},"repo":{"id":46714939,"node_id":"MDEwOlJlcG9zaXRvcnk0NjcxNDkzOQ==","name":"parity-ethereum","full_name":"paritytech/parity-ethereum","private":false,"owner":{"login":"paritytech","id":14176906,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0MTc2OTA2","avatar_url":"https://avatars2.githubusercontent.com/u/14176906?v=4","gravatar_id":"","url":"https://api.github.com/users/paritytech","html_url":"https://github.com/paritytech","followers_url":"https://api.github.com/users/paritytech/followers","following_url":"https://api.github.com/users/paritytech/following{/other_user}","gists_url":"https://api.github.com/users/paritytech/gists{/gist_id}","starred_url":"https://api.github.com/users/paritytech/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paritytech/subscriptions","organizations_url":"https://api.github.com/users/paritytech/orgs","repos_url":"https://api.github.com/users/paritytech/repos","events_url":"https://api.github.com/users/paritytech/events{/privacy}","received_events_url":"https://api.github.com/users/paritytech/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/paritytech/parity-ethereum","description":"The fast, light, and robust EVM and WASM client.","fork":false,"url":"https://api.github.com/repos/paritytech/parity-ethereum","forks_url":"https://api.github.com/repos/paritytech/parity-ethereum/forks","keys_url":"https://api.github.com/repos/paritytech/parity-ethereum/keys{/key_id}","collaborators_url":"https://api.github.com/repos/paritytech/parity-ethereum/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/paritytech/parity-ethereum/teams","hooks_url":"https://api.github.com/repos/paritytech/parity-ethereum/hooks","issue_events_url":"https://api.github.com/repos/paritytech/parity-ethereum/issues/events{/number}","events_url":"https://api.github.com/repos/paritytech/parity-ethereum/events","assignees_url":"https://api.github.com/repos/paritytech/parity-ethereum/assignees{/user}","branches_url":"https://api.github.com/repos/paritytech/parity-ethereum/branches{/branch}","tags_url":"https://api.github.com/repos/paritytech/parity-ethereum/tags","blobs_url":"https://api.github.com/repos/paritytech/parity-ethereum/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/paritytech/parity-ethereum/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/paritytech/parity-ethereum/git/refs{/sha}","trees_url":"https://api.github.com/repos/paritytech/parity-ethereum/git/trees{/sha}","statuses_url":"https://api.github.com/repos/paritytech/parity-ethereum/statuses/{sha}","languages_url":"https://api.github.com/repos/paritytech/parity-ethereum/languages","stargazers_url":"https://api.github.com/repos/paritytech/parity-ethereum/stargazers","contributors_url":"https://api.github.com/repos/paritytech/parity-ethereum/contributors","subscribers_url":"https://api.github.com/repos/paritytech/parity-ethereum/subscribers","subscription_url":"https://api.github.com/repos/paritytech/parity-ethereum/subscription","commits_url":"https://api.github.com/repos/paritytech/parity-ethereum/commits{/sha}","git_commits_url":"https://api.github.com/repos/paritytech/parity-ethereum/git/commits{/sha}","comments_url":"https://api.github.com/repos/paritytech/parity-ethereum/comments{/number}","issue_comment_url":"https://api.github.com/repos/paritytech/parity-ethereum/issues/comments{/number}","contents_url":"https://api.github.com/repos/paritytech/parity-ethereum/contents/{+path}","compare_url":"https://api.github.com/repos/paritytech/parity-ethereum/compare/{base}...{head}","merges_url":"https://api.github.com/repos/paritytech/parity-ethereum/merges","archive_url":"https://api.github.com/repos/paritytech/parity-ethereum/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/paritytech/parity-ethereum/downloads","issues_url":"https://api.github.com/repos/paritytech/parity-ethereum/issues{/number}","pulls_url":"https://api.github.com/repos/paritytech/parity-ethereum/pulls{/number}","milestones_url":"https://api.github.com/repos/paritytech/parity-ethereum/milestones{/number}","notifications_url":"https://api.github.com/repos/paritytech/parity-ethereum/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/paritytech/parity-ethereum/labels{/name}","releases_url":"https://api.github.com/repos/paritytech/parity-ethereum/releases{/id}","deployments_url":"https://api.github.com/repos/paritytech/parity-ethereum/deployments","created_at":"2015-11-23T11:07:32Z","updated_at":"2019-06-14T16:48:47Z","pushed_at":"2019-06-14T23:11:33Z","git_url":"git://github.com/paritytech/parity-ethereum.git","ssh_url":"git@github.com:paritytech/parity-ethereum.git","clone_url":"https://github.com/paritytech/parity-ethereum.git","svn_url":"https://github.com/paritytech/parity-ethereum","homepage":"https://parity.io","size":66121,"stargazers_count":5464,"watchers_count":5464,"language":"Rust","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1272,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":314,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":1272,"open_issues":314,"watchers":5464,"default_branch":"master"}},"base":{"label":"paritytech:master","ref":"master","sha":"1c076af5ee16dce5ce942245373db427b4b96fd4","user":{"login":"paritytech","id":14176906,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0MTc2OTA2","avatar_url":"https://avatars2.githubusercontent.com/u/14176906?v=4","gravatar_id":"","url":"https://api.github.com/users/paritytech","html_url":"https://github.com/paritytech","followers_url":"https://api.github.com/users/paritytech/followers","following_url":"https://api.github.com/users/paritytech/following{/other_user}","gists_url":"https://api.github.com/users/paritytech/gists{/gist_id}","starred_url":"https://api.github.com/users/paritytech/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paritytech/subscriptions","organizations_url":"https://api.github.com/users/paritytech/orgs","repos_url":"https://api.github.com/users/paritytech/repos","events_url":"https://api.github.com/users/paritytech/events{/privacy}","received_events_url":"https://api.github.com/users/paritytech/received_events","type":"Organization","site_admin":false},"repo":{"id":46714939,"node_id":"MDEwOlJlcG9zaXRvcnk0NjcxNDkzOQ==","name":"parity-ethereum","full_name":"paritytech/parity-ethereum","private":false,"owner":{"login":"paritytech","id":14176906,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0MTc2OTA2","avatar_url":"https://avatars2.githubusercontent.com/u/14176906?v=4","gravatar_id":"","url":"https://api.github.com/users/paritytech","html_url":"https://github.com/paritytech","followers_url":"https://api.github.com/users/paritytech/followers","following_url":"https://api.github.com/users/paritytech/following{/other_user}","gists_url":"https://api.github.com/users/paritytech/gists{/gist_id}","starred_url":"https://api.github.com/users/paritytech/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paritytech/subscriptions","organizations_url":"https://api.github.com/users/paritytech/orgs","repos_url":"https://api.github.com/users/paritytech/repos","events_url":"https://api.github.com/users/paritytech/events{/privacy}","received_events_url":"https://api.github.com/users/paritytech/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/paritytech/parity-ethereum","description":"The fast, light, and robust EVM and WASM client.","fork":false,"url":"https://api.github.com/repos/paritytech/parity-ethereum","forks_url":"https://api.github.com/repos/paritytech/parity-ethereum/forks","keys_url":"https://api.github.com/repos/paritytech/parity-ethereum/keys{/key_id}","collaborators_url":"https://api.github.com/repos/paritytech/parity-ethereum/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/paritytech/parity-ethereum/teams","hooks_url":"https://api.github.com/repos/paritytech/parity-ethereum/hooks","issue_events_url":"https://api.github.com/repos/paritytech/parity-ethereum/issues/events{/number}","events_url":"https://api.github.com/repos/paritytech/parity-ethereum/events","assignees_url":"https://api.github.com/repos/paritytech/parity-ethereum/assignees{/user}","branches_url":"https://api.github.com/repos/paritytech/parity-ethereum/branches{/branch}","tags_url":"https://api.github.com/repos/paritytech/parity-ethereum/tags","blobs_url":"https://api.github.com/repos/paritytech/parity-ethereum/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/paritytech/parity-ethereum/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/paritytech/parity-ethereum/git/refs{/sha}","trees_url":"https://api.github.com/repos/paritytech/parity-ethereum/git/trees{/sha}","statuses_url":"https://api.github.com/repos/paritytech/parity-ethereum/statuses/{sha}","languages_url":"https://api.github.com/repos/paritytech/parity-ethereum/languages","stargazers_url":"https://api.github.com/repos/paritytech/parity-ethereum/stargazers","contributors_url":"https://api.github.com/repos/paritytech/parity-ethereum/contributors","subscribers_url":"https://api.github.com/repos/paritytech/parity-ethereum/subscribers","subscription_url":"https://api.github.com/repos/paritytech/parity-ethereum/subscription","commits_url":"https://api.github.com/repos/paritytech/parity-ethereum/commits{/sha}","git_commits_url":"https://api.github.com/repos/paritytech/parity-ethereum/git/commits{/sha}","comments_url":"https://api.github.com/repos/paritytech/parity-ethereum/comments{/number}","issue_comment_url":"https://api.github.com/repos/paritytech/parity-ethereum/issues/comments{/number}","contents_url":"https://api.github.com/repos/paritytech/parity-ethereum/contents/{+path}","compare_url":"https://api.github.com/repos/paritytech/parity-ethereum/compare/{base}...{head}","merges_url":"https://api.github.com/repos/paritytech/parity-ethereum/merges","archive_url":"https://api.github.com/repos/paritytech/parity-ethereum/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/paritytech/parity-ethereum/downloads","issues_url":"https://api.github.com/repos/paritytech/parity-ethereum/issues{/number}","pulls_url":"https://api.github.com/repos/paritytech/parity-ethereum/pulls{/number}","milestones_url":"https://api.github.com/repos/paritytech/parity-ethereum/milestones{/number}","notifications_url":"https://api.github.com/repos/paritytech/parity-ethereum/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/paritytech/parity-ethereum/labels{/name}","releases_url":"https://api.github.com/repos/paritytech/parity-ethereum/releases{/id}","deployments_url":"https://api.github.com/repos/paritytech/parity-ethereum/deployments","created_at":"2015-11-23T11:07:32Z","updated_at":"2019-06-14T16:48:47Z","pushed_at":"2019-06-14T23:11:33Z","git_url":"git://github.com/paritytech/parity-ethereum.git","ssh_url":"git@github.com:paritytech/parity-ethereum.git","clone_url":"https://github.com/paritytech/parity-ethereum.git","svn_url":"https://github.com/paritytech/parity-ethereum","homepage":"https://parity.io","size":66121,"stargazers_count":5464,"watchers_count":5464,"language":"Rust","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1272,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":314,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":1272,"open_issues":314,"watchers":5464,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/paritytech/parity-ethereum/pulls/10742"},"html":{"href":"https://github.com/paritytech/parity-ethereum/pull/10742"},"issue":{"href":"https://api.github.com/repos/paritytech/parity-ethereum/issues/10742"},"comments":{"href":"https://api.github.com/repos/paritytech/parity-ethereum/issues/10742/comments"},"review_comments":{"href":"https://api.github.com/repos/paritytech/parity-ethereum/pulls/10742/comments"},"review_comment":{"href":"https://api.github.com/repos/paritytech/parity-ethereum/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/paritytech/parity-ethereum/pulls/10742/commits"},"statuses":{"href":"https://api.github.com/repos/paritytech/parity-ethereum/statuses/0662a6d56baa0398865c7e13824e04dfc86c1e04"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"sorpaas"}}