payload: {"action":"created","comment":{"url":"https://api.github.com/repos/paritytech/fether/pulls/comments/270052207","pull_request_review_id":220082916,"id":270052207,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI3MDA1MjIwNw==","diff_hunk":"@@ -15,15 +15,23 @@ export const TokenCard = ({\n   decimals,\n   showBalance,\n   token,\n+  defaultTokenImage,\n   ...otherProps\n }) => (\n   <Card {...otherProps}>\n     <div className='token'>\n       <div className='token_icon'>\n-        {token && token.logo ? (\n-          <img alt={token.symbol} src={token.logo} />\n+        {!!token && !!token.logo ? (\n+          <img\n+            alt={token.symbol}\n+            src={token.logo}\n+            onError={ev => {","path":"packages/fether-ui/src/TokenCard/TokenCard.js","position":16,"original_position":16,"commit_id":"4a99fc6be4b8b6045a2d8ab1897db41279a4841b","original_commit_id":"18446746af34ecb07b41022b6bb2aaccc00d36f0","user":{"login":"amaurymartiny","id":1293565,"node_id":"MDQ6VXNlcjEyOTM1NjU=","avatar_url":"https://avatars0.githubusercontent.com/u/1293565?v=4","gravatar_id":"","url":"https://api.github.com/users/amaurymartiny","html_url":"https://github.com/amaurymartiny","followers_url":"https://api.github.com/users/amaurymartiny/followers","following_url":"https://api.github.com/users/amaurymartiny/following{/other_user}","gists_url":"https://api.github.com/users/amaurymartiny/gists{/gist_id}","starred_url":"https://api.github.com/users/amaurymartiny/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amaurymartiny/subscriptions","organizations_url":"https://api.github.com/users/amaurymartiny/orgs","repos_url":"https://api.github.com/users/amaurymartiny/repos","events_url":"https://api.github.com/users/amaurymartiny/events{/privacy}","received_events_url":"https://api.github.com/users/amaurymartiny/received_events","type":"User","site_admin":false},"body":"could you create a function called `handleError` or something like that? And do `onError={handleError}`.\r\n\r\nReason: small react performance optimization.","created_at":"2019-03-28T15:09:58Z","updated_at":"2019-03-28T15:41:03Z","html_url":"https://github.com/paritytech/fether/pull/477#discussion_r270052207","pull_request_url":"https://api.github.com/repos/paritytech/fether/pulls/477","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/paritytech/fether/pulls/comments/270052207"},"html":{"href":"https://github.com/paritytech/fether/pull/477#discussion_r270052207"},"pull_request":{"href":"https://api.github.com/repos/paritytech/fether/pulls/477"}}},"pull_request":{"url":"https://api.github.com/repos/paritytech/fether/pulls/477","id":264504566,"node_id":"MDExOlB1bGxSZXF1ZXN0MjY0NTA0NTY2","html_url":"https://github.com/paritytech/fether/pull/477","diff_url":"https://github.com/paritytech/fether/pull/477.diff","patch_url":"https://github.com/paritytech/fether/pull/477.patch","issue_url":"https://api.github.com/repos/paritytech/fether/issues/477","number":477,"state":"open","locked":false,"title":"Use new token contract's source","user":{"login":"Tbaut","id":33178835,"node_id":"MDQ6VXNlcjMzMTc4ODM1","avatar_url":"https://avatars2.githubusercontent.com/u/33178835?v=4","gravatar_id":"","url":"https://api.github.com/users/Tbaut","html_url":"https://github.com/Tbaut","followers_url":"https://api.github.com/users/Tbaut/followers","following_url":"https://api.github.com/users/Tbaut/following{/other_user}","gists_url":"https://api.github.com/users/Tbaut/gists{/gist_id}","starred_url":"https://api.github.com/users/Tbaut/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Tbaut/subscriptions","organizations_url":"https://api.github.com/users/Tbaut/orgs","repos_url":"https://api.github.com/users/Tbaut/repos","events_url":"https://api.github.com/users/Tbaut/events{/privacy}","received_events_url":"https://api.github.com/users/Tbaut/received_events","type":"User","site_admin":false},"body":"This PR is almost entirely copied from [an old commit from @amaurymartiny ](https://github.com/paritytech/fether/pull/18/commits/9f928e4014d85c9dfc9571191e70114322c22147#diff-fac500848adb7631256ba0163ad0b109R1) that's taken from [MyCrypto](https://github.com/MyCryptoHQ/MyCrypto/tree/develop/scripts) :1st_place_medal: \r\n\r\n- closes #267\r\n\r\n- For now, and for when this happens, we need to manually build the token lists, for the record it needs:\r\n        - `git clone https://github.com/ethereum-lists/tokens`\r\n        - `cd tokens`\r\n        - `./gradlew run`\r\n        - upload and pin to IPFS the files in `./build/output/full/<ipfs_network_name>.json`\r\n        - change the hardcoded IPFS addresses in `/fether/scripts/updateTokens/update-tokens.ts`\r\n        - run `yarn update-tokens --use-hardcoded-ipfs-addresses`\r\n\r\n- tested Fether by adding tokens that I know weren't present before, e.g `MKR` or `ZRX`\r\n- tested successfully on Mainnet with DAI, DADI (non 0 balances).\r\nTo reproduce without touching real accounts simply paste the following in the console:  `localStorage.setItem(\"localforage/__paritylight::paritySignerAccounts\", '[{\"address\":\"0x77d0C0A0B7a9bEfd0ebB3b9A9E445fA9eeFfB67A\",\"name\":\"Random\",\"chainId\":1}]');`, this will add the account as a Signer account, and you can see it has ETH, DAI and DADI tokens. Note that it's a random account found on the internet :)\r\n\r\n- added a fallback image in case the token image is either not present or not reachable. It looks like this:\r\n![image](https://user-images.githubusercontent.com/33178835/55081142-9917b280-509f-11e9-9400-c8066bfaa2b9.png)\r\n","created_at":"2019-03-26T12:50:06Z","updated_at":"2019-03-28T15:41:03Z","closed_at":null,"merged_at":null,"merge_commit_sha":"dbb7dd5fe8e3a7277b0fd5ee25a3d669ac015f78","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":932417262,"node_id":"MDU6TGFiZWw5MzI0MTcyNjI=","url":"https://api.github.com/repos/paritytech/fether/labels/A0-pleasereview","name":"A0-pleasereview","color":"666666","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/paritytech/fether/pulls/477/commits","review_comments_url":"https://api.github.com/repos/paritytech/fether/pulls/477/comments","review_comment_url":"https://api.github.com/repos/paritytech/fether/pulls/comments{/number}","comments_url":"https://api.github.com/repos/paritytech/fether/issues/477/comments","statuses_url":"https://api.github.com/repos/paritytech/fether/statuses/4a99fc6be4b8b6045a2d8ab1897db41279a4841b","head":{"label":"paritytech:tbaut-use-token-list-from-github.com/ethereum-lists/tokens","ref":"tbaut-use-token-list-from-github.com/ethereum-lists/tokens","sha":"4a99fc6be4b8b6045a2d8ab1897db41279a4841b","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":127888735,"node_id":"MDEwOlJlcG9zaXRvcnkxMjc4ODg3MzU=","name":"fether","full_name":"paritytech/fether","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/fether","description":"Fether - The Parity Light Wallet","fork":false,"url":"https://api.github.com/repos/paritytech/fether","forks_url":"https://api.github.com/repos/paritytech/fether/forks","keys_url":"https://api.github.com/repos/paritytech/fether/keys{/key_id}","collaborators_url":"https://api.github.com/repos/paritytech/fether/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/paritytech/fether/teams","hooks_url":"https://api.github.com/repos/paritytech/fether/hooks","issue_events_url":"https://api.github.com/repos/paritytech/fether/issues/events{/number}","events_url":"https://api.github.com/repos/paritytech/fether/events","assignees_url":"https://api.github.com/repos/paritytech/fether/assignees{/user}","branches_url":"https://api.github.com/repos/paritytech/fether/branches{/branch}","tags_url":"https://api.github.com/repos/paritytech/fether/tags","blobs_url":"https://api.github.com/repos/paritytech/fether/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/paritytech/fether/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/paritytech/fether/git/refs{/sha}","trees_url":"https://api.github.com/repos/paritytech/fether/git/trees{/sha}","statuses_url":"https://api.github.com/repos/paritytech/fether/statuses/{sha}","languages_url":"https://api.github.com/repos/paritytech/fether/languages","stargazers_url":"https://api.github.com/repos/paritytech/fether/stargazers","contributors_url":"https://api.github.com/repos/paritytech/fether/contributors","subscribers_url":"https://api.github.com/repos/paritytech/fether/subscribers","subscription_url":"https://api.github.com/repos/paritytech/fether/subscription","commits_url":"https://api.github.com/repos/paritytech/fether/commits{/sha}","git_commits_url":"https://api.github.com/repos/paritytech/fether/git/commits{/sha}","comments_url":"https://api.github.com/repos/paritytech/fether/comments{/number}","issue_comment_url":"https://api.github.com/repos/paritytech/fether/issues/comments{/number}","contents_url":"https://api.github.com/repos/paritytech/fether/contents/{+path}","compare_url":"https://api.github.com/repos/paritytech/fether/compare/{base}...{head}","merges_url":"https://api.github.com/repos/paritytech/fether/merges","archive_url":"https://api.github.com/repos/paritytech/fether/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/paritytech/fether/downloads","issues_url":"https://api.github.com/repos/paritytech/fether/issues{/number}","pulls_url":"https://api.github.com/repos/paritytech/fether/pulls{/number}","milestones_url":"https://api.github.com/repos/paritytech/fether/milestones{/number}","notifications_url":"https://api.github.com/repos/paritytech/fether/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/paritytech/fether/labels{/name}","releases_url":"https://api.github.com/repos/paritytech/fether/releases{/id}","deployments_url":"https://api.github.com/repos/paritytech/fether/deployments","created_at":"2018-04-03T10:04:21Z","updated_at":"2019-03-27T17:35:37Z","pushed_at":"2019-03-28T15:16:31Z","git_url":"git://github.com/paritytech/fether.git","ssh_url":"git@github.com:paritytech/fether.git","clone_url":"https://github.com/paritytech/fether.git","svn_url":"https://github.com/paritytech/fether","homepage":"https://parity.io","size":5392,"stargazers_count":76,"watchers_count":76,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":16,"mirror_url":null,"archived":false,"open_issues_count":56,"license":{"key":"bsd-3-clause","name":"BSD 3-Clause \"New\" or \"Revised\" License","spdx_id":"BSD-3-Clause","url":"https://api.github.com/licenses/bsd-3-clause","node_id":"MDc6TGljZW5zZTU="},"forks":16,"open_issues":56,"watchers":76,"default_branch":"master"}},"base":{"label":"paritytech:master","ref":"master","sha":"9e359b24fb6a45c1eeeba0df4e545f61f2bb8d7a","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":127888735,"node_id":"MDEwOlJlcG9zaXRvcnkxMjc4ODg3MzU=","name":"fether","full_name":"paritytech/fether","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/fether","description":"Fether - The Parity Light Wallet","fork":false,"url":"https://api.github.com/repos/paritytech/fether","forks_url":"https://api.github.com/repos/paritytech/fether/forks","keys_url":"https://api.github.com/repos/paritytech/fether/keys{/key_id}","collaborators_url":"https://api.github.com/repos/paritytech/fether/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/paritytech/fether/teams","hooks_url":"https://api.github.com/repos/paritytech/fether/hooks","issue_events_url":"https://api.github.com/repos/paritytech/fether/issues/events{/number}","events_url":"https://api.github.com/repos/paritytech/fether/events","assignees_url":"https://api.github.com/repos/paritytech/fether/assignees{/user}","branches_url":"https://api.github.com/repos/paritytech/fether/branches{/branch}","tags_url":"https://api.github.com/repos/paritytech/fether/tags","blobs_url":"https://api.github.com/repos/paritytech/fether/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/paritytech/fether/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/paritytech/fether/git/refs{/sha}","trees_url":"https://api.github.com/repos/paritytech/fether/git/trees{/sha}","statuses_url":"https://api.github.com/repos/paritytech/fether/statuses/{sha}","languages_url":"https://api.github.com/repos/paritytech/fether/languages","stargazers_url":"https://api.github.com/repos/paritytech/fether/stargazers","contributors_url":"https://api.github.com/repos/paritytech/fether/contributors","subscribers_url":"https://api.github.com/repos/paritytech/fether/subscribers","subscription_url":"https://api.github.com/repos/paritytech/fether/subscription","commits_url":"https://api.github.com/repos/paritytech/fether/commits{/sha}","git_commits_url":"https://api.github.com/repos/paritytech/fether/git/commits{/sha}","comments_url":"https://api.github.com/repos/paritytech/fether/comments{/number}","issue_comment_url":"https://api.github.com/repos/paritytech/fether/issues/comments{/number}","contents_url":"https://api.github.com/repos/paritytech/fether/contents/{+path}","compare_url":"https://api.github.com/repos/paritytech/fether/compare/{base}...{head}","merges_url":"https://api.github.com/repos/paritytech/fether/merges","archive_url":"https://api.github.com/repos/paritytech/fether/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/paritytech/fether/downloads","issues_url":"https://api.github.com/repos/paritytech/fether/issues{/number}","pulls_url":"https://api.github.com/repos/paritytech/fether/pulls{/number}","milestones_url":"https://api.github.com/repos/paritytech/fether/milestones{/number}","notifications_url":"https://api.github.com/repos/paritytech/fether/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/paritytech/fether/labels{/name}","releases_url":"https://api.github.com/repos/paritytech/fether/releases{/id}","deployments_url":"https://api.github.com/repos/paritytech/fether/deployments","created_at":"2018-04-03T10:04:21Z","updated_at":"2019-03-27T17:35:37Z","pushed_at":"2019-03-28T15:16:31Z","git_url":"git://github.com/paritytech/fether.git","ssh_url":"git@github.com:paritytech/fether.git","clone_url":"https://github.com/paritytech/fether.git","svn_url":"https://github.com/paritytech/fether","homepage":"https://parity.io","size":5392,"stargazers_count":76,"watchers_count":76,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":16,"mirror_url":null,"archived":false,"open_issues_count":56,"license":{"key":"bsd-3-clause","name":"BSD 3-Clause \"New\" or \"Revised\" License","spdx_id":"BSD-3-Clause","url":"https://api.github.com/licenses/bsd-3-clause","node_id":"MDc6TGljZW5zZTU="},"forks":16,"open_issues":56,"watchers":76,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/paritytech/fether/pulls/477"},"html":{"href":"https://github.com/paritytech/fether/pull/477"},"issue":{"href":"https://api.github.com/repos/paritytech/fether/issues/477"},"comments":{"href":"https://api.github.com/repos/paritytech/fether/issues/477/comments"},"review_comments":{"href":"https://api.github.com/repos/paritytech/fether/pulls/477/comments"},"review_comment":{"href":"https://api.github.com/repos/paritytech/fether/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/paritytech/fether/pulls/477/commits"},"statuses":{"href":"https://api.github.com/repos/paritytech/fether/statuses/4a99fc6be4b8b6045a2d8ab1897db41279a4841b"}},"author_association":"COLLABORATOR"}}
other: {"actor":{"display_login":"amaurymartiny"}}