{"action":"created","issue":{"url":"https://api.github.com/repos/ethereum/go-ethereum/issues/17696","repository_url":"https://api.github.com/repos/ethereum/go-ethereum","labels_url":"https://api.github.com/repos/ethereum/go-ethereum/issues/17696/labels{/name}","comments_url":"https://api.github.com/repos/ethereum/go-ethereum/issues/17696/comments","events_url":"https://api.github.com/repos/ethereum/go-ethereum/issues/17696/events","html_url":"https://github.com/ethereum/go-ethereum/issues/17696","id":361398774,"node_id":"MDU6SXNzdWUzNjEzOTg3NzQ=","number":17696,"title":"Implement EIP-191 Signing API","user":{"login":"tuxxy","id":3598318,"node_id":"MDQ6VXNlcjM1OTgzMTg=","avatar_url":"https://avatars1.githubusercontent.com/u/3598318?v=4","gravatar_id":"","url":"https://api.github.com/users/tuxxy","html_url":"https://github.com/tuxxy","followers_url":"https://api.github.com/users/tuxxy/followers","following_url":"https://api.github.com/users/tuxxy/following{/other_user}","gists_url":"https://api.github.com/users/tuxxy/gists{/gist_id}","starred_url":"https://api.github.com/users/tuxxy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tuxxy/subscriptions","organizations_url":"https://api.github.com/users/tuxxy/orgs","repos_url":"https://api.github.com/users/tuxxy/repos","events_url":"https://api.github.com/users/tuxxy/events{/privacy}","received_events_url":"https://api.github.com/users/tuxxy/received_events","type":"User","site_admin":false},"labels":[{"id":1053006445,"node_id":"MDU6TGFiZWwxMDUzMDA2NDQ1","url":"https://api.github.com/repos/ethereum/go-ethereum/labels/clef","name":"clef","color":"1d76db","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":31,"created_at":"2018-09-18T17:05:13Z","updated_at":"2018-11-02T11:36:06Z","closed_at":null,"author_association":"NONE","body":"Geth lacks an API to perform an EIP-191 conforming signature for a given unlocked account. An API should be implemented that allows for arbitrary data to be signed by a specified unlocked account. This API will encompass signing as well as verifying functionalities.\r\n\r\nCurrent API:\r\nhttps://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sign"},"comment":{"url":"https://api.github.com/repos/ethereum/go-ethereum/issues/comments/435351455","html_url":"https://github.com/ethereum/go-ethereum/issues/17696#issuecomment-435351455","issue_url":"https://api.github.com/repos/ethereum/go-ethereum/issues/17696","id":435351455,"node_id":"MDEyOklzc3VlQ29tbWVudDQzNTM1MTQ1NQ==","user":{"login":"PaulRBerg","id":8782666,"node_id":"MDQ6VXNlcjg3ODI2NjY=","avatar_url":"https://avatars1.githubusercontent.com/u/8782666?v=4","gravatar_id":"","url":"https://api.github.com/users/PaulRBerg","html_url":"https://github.com/PaulRBerg","followers_url":"https://api.github.com/users/PaulRBerg/followers","following_url":"https://api.github.com/users/PaulRBerg/following{/other_user}","gists_url":"https://api.github.com/users/PaulRBerg/gists{/gist_id}","starred_url":"https://api.github.com/users/PaulRBerg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PaulRBerg/subscriptions","organizations_url":"https://api.github.com/users/PaulRBerg/orgs","repos_url":"https://api.github.com/users/PaulRBerg/repos","events_url":"https://api.github.com/users/PaulRBerg/events{/privacy}","received_events_url":"https://api.github.com/users/PaulRBerg/received_events","type":"User","site_admin":false},"created_at":"2018-11-02T11:36:06Z","updated_at":"2018-11-02T11:36:06Z","author_association":"CONTRIBUTOR","body":"It was great catching up with @holiman in Prague as we were able to discuss the last details for implementing EIP-191 and EIP-712. I absolutely enjoyed working on this - and now I can say that PR #17789 is done and pending for feedback from your end :)\r\n\r\nOverview:\r\n\r\n• Method `eth_signData` accepts a `contentType` parameter which fully adheres to the specs of EIP-191\r\n• Method `eth_signTypedData`accepts a `typedData` json object conforming to EIP-712\r\n\r\nI eventually separated the methods because (1) that's what the specs require and (2) there were a lot of assumptions in converting a `map[string]interface{}` to a `TypedData` object. It is much easier to let the `rpc` server deal with that via its built-in reflections.\r\n\r\nAiming to also get in touch with the EIP-712 authors to see if they could take a look."}}
{"actor":{"display_login":"PaulRBerg"}}