{"action":"created","comment":{"url":"https://api.github.com/repos/statechannels/monorepo/pulls/comments/340890904","pull_request_review_id":309562920,"id":340890904,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDM0MDg5MDkwNA==","diff_hunk":"@@ -68,15 +68,15 @@\n       \"type\": \"function\"\n     }\n   ],","path":"packages/engine/contracts/pre-built-artifacts/Migrations.json","position":3,"original_position":3,"commit_id":"ca49556aaf51f354e8a5ef9243da10990c88766a","original_commit_id":"ca49556aaf51f354e8a5ef9243da10990c88766a","user":{"login":"lalexgap","id":1620336,"node_id":"MDQ6VXNlcjE2MjAzMzY=","avatar_url":"https://avatars1.githubusercontent.com/u/1620336?v=4","gravatar_id":"","url":"https://api.github.com/users/lalexgap","html_url":"https://github.com/lalexgap","followers_url":"https://api.github.com/users/lalexgap/followers","following_url":"https://api.github.com/users/lalexgap/following{/other_user}","gists_url":"https://api.github.com/users/lalexgap/gists{/gist_id}","starred_url":"https://api.github.com/users/lalexgap/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lalexgap/subscriptions","organizations_url":"https://api.github.com/users/lalexgap/orgs","repos_url":"https://api.github.com/users/lalexgap/repos","events_url":"https://api.github.com/users/lalexgap/events{/privacy}","received_events_url":"https://api.github.com/users/lalexgap/received_events","type":"User","site_admin":false},"body":"> Perhaps this is not immediately relevant to this work, but I am trying to remember why pre-built-artifacts are part of the `wallet` package. Should these artifacts live in the `nitro-protocol` package?\r\n\r\nI think we should remove them for now. If we want to get rid of them we'll have to remove this webpack plugin:\r\n```\r\n  new webpack.NormalModuleReplacementPlugin(\r\n        /.*\\/build\\/contracts\\/.*\\.json/,\r\n        function (resource) {\r\n          if (process.env.TARGET_NETWORK !== 'development') {\r\n            resource.request = resource.request.replace(/.*\\/build\\/contracts/, paths.appPreBuiltContractArtifacts);\r\n          }\r\n        }),```","created_at":"2019-10-30T22:38:25Z","updated_at":"2019-10-30T22:38:25Z","html_url":"https://github.com/statechannels/monorepo/pull/276#discussion_r340890904","pull_request_url":"https://api.github.com/repos/statechannels/monorepo/pulls/276","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/statechannels/monorepo/pulls/comments/340890904"},"html":{"href":"https://github.com/statechannels/monorepo/pull/276#discussion_r340890904"},"pull_request":{"href":"https://api.github.com/repos/statechannels/monorepo/pulls/276"}},"in_reply_to_id":340860444},"pull_request":{"url":"https://api.github.com/repos/statechannels/monorepo/pulls/276","id":332502379,"node_id":"MDExOlB1bGxSZXF1ZXN0MzMyNTAyMzc5","html_url":"https://github.com/statechannels/monorepo/pull/276","diff_url":"https://github.com/statechannels/monorepo/pull/276.diff","patch_url":"https://github.com/statechannels/monorepo/pull/276.patch","issue_url":"https://api.github.com/repos/statechannels/monorepo/issues/276","number":276,"state":"open","locked":false,"title":"[SPIKE] Decouple UI interaction from wallet package","user":{"login":"snario","id":1933029,"node_id":"MDQ6VXNlcjE5MzMwMjk=","avatar_url":"https://avatars1.githubusercontent.com/u/1933029?v=4","gravatar_id":"","url":"https://api.github.com/users/snario","html_url":"https://github.com/snario","followers_url":"https://api.github.com/users/snario/followers","following_url":"https://api.github.com/users/snario/following{/other_user}","gists_url":"https://api.github.com/users/snario/gists{/gist_id}","starred_url":"https://api.github.com/users/snario/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/snario/subscriptions","organizations_url":"https://api.github.com/users/snario/orgs","repos_url":"https://api.github.com/users/snario/repos","events_url":"https://api.github.com/users/snario/events{/privacy}","received_events_url":"https://api.github.com/users/snario/received_events","type":"User","site_admin":false},"body":"This is a spike to explore how the wallet implementation can be split up to exclude the current tight coupling from the UI interaction.\r\n\r\nSince more logic than less of the wallet is actually what we want from the proposed `engine` package, the package `wallet` is renamed in this PR to `engine` with the intent to extract the non-engine specific functionality out.\r\n\r\nMore concretely, this means refactoring the current implementation to not be using the `PureComponent` elements from `react`.\r\n\r\nThe following `PureComponents` are being used right now as the bridge between the `engine` and the UI. **Since this is not a small change, to prevent major divergence from master, the path of action is to keep the build and tests passing at all times while incrementally refactoring each of the following components separately** (note that the order of presentation isn't necessarily the order in which the items will be checked off; the order will be decided by whatever is easiest to refactor moving forward as this is a spike). It will likely be the case that each component will be tackled in a separate, stacked PR to make reviews easier.\r\n\r\nThe work for each protocol will be marked as either \"IN PROGRESS\" or \"DONE\".\r\n\r\n- [ ] defunding\r\n- [ ] concluding\r\n- [ ] funding\r\n- [ ] dispute/challenger\r\n- [ ] dispute/challenger/components/wait-for-response-or-timeout\r\n- [ ] dispute/responder\r\n- [ ] dispute/responder/components/wait-for-approval\r\n- [ ] funding-strategy-negotiation/player-a\r\n- [ ] funding-strategy-negotiation/player-b\r\n- [ ] ledger-funding [IN PROGRESS]\r\n- [ ] ledger-defunding\r\n- [ ] virtual-defunding\r\n- [ ] close-ledger-channel\r\n- [ ] withdrawing\r\n- [ ] new-ledger-channel\r\n- [ ] existing-ledger-funding\r\n- [ ] consensus-update\r\n- [ ] advance-channel\r\n- [ ] withdrawing/components/wait-for-approval\r\n- [ ] ledger-top-up\r\n- [ ] new-ledger-channel/components/funding-step\r\n- [ ] advance-channel/components/advancing-channel\r\n- [ ] direct-funding\r\n- [ ] direct-funding/components/funding-step\r\n- [ ] src/containers/engine","created_at":"2019-10-25T13:01:00Z","updated_at":"2019-10-30T22:38:25Z","closed_at":null,"merged_at":null,"merge_commit_sha":"04a1bca15b1a40b1cbfdefba916e1d25f1f60600","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":1638240454,"node_id":"MDU6TGFiZWwxNjM4MjQwNDU0","url":"https://api.github.com/repos/statechannels/monorepo/labels/do%20not%20merge","name":"do not merge","color":"b60205","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/statechannels/monorepo/pulls/276/commits","review_comments_url":"https://api.github.com/repos/statechannels/monorepo/pulls/276/comments","review_comment_url":"https://api.github.com/repos/statechannels/monorepo/pulls/comments{/number}","comments_url":"https://api.github.com/repos/statechannels/monorepo/issues/276/comments","statuses_url":"https://api.github.com/repos/statechannels/monorepo/statuses/ca49556aaf51f354e8a5ef9243da10990c88766a","head":{"label":"statechannels:liam/engine","ref":"liam/engine","sha":"ca49556aaf51f354e8a5ef9243da10990c88766a","user":{"login":"statechannels","id":36797387,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM2Nzk3Mzg3","avatar_url":"https://avatars0.githubusercontent.com/u/36797387?v=4","gravatar_id":"","url":"https://api.github.com/users/statechannels","html_url":"https://github.com/statechannels","followers_url":"https://api.github.com/users/statechannels/followers","following_url":"https://api.github.com/users/statechannels/following{/other_user}","gists_url":"https://api.github.com/users/statechannels/gists{/gist_id}","starred_url":"https://api.github.com/users/statechannels/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/statechannels/subscriptions","organizations_url":"https://api.github.com/users/statechannels/orgs","repos_url":"https://api.github.com/users/statechannels/repos","events_url":"https://api.github.com/users/statechannels/events{/privacy}","received_events_url":"https://api.github.com/users/statechannels/received_events","type":"Organization","site_admin":false},"repo":{"id":209829093,"node_id":"MDEwOlJlcG9zaXRvcnkyMDk4MjkwOTM=","name":"monorepo","full_name":"statechannels/monorepo","private":false,"owner":{"login":"statechannels","id":36797387,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM2Nzk3Mzg3","avatar_url":"https://avatars0.githubusercontent.com/u/36797387?v=4","gravatar_id":"","url":"https://api.github.com/users/statechannels","html_url":"https://github.com/statechannels","followers_url":"https://api.github.com/users/statechannels/followers","following_url":"https://api.github.com/users/statechannels/following{/other_user}","gists_url":"https://api.github.com/users/statechannels/gists{/gist_id}","starred_url":"https://api.github.com/users/statechannels/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/statechannels/subscriptions","organizations_url":"https://api.github.com/users/statechannels/orgs","repos_url":"https://api.github.com/users/statechannels/repos","events_url":"https://api.github.com/users/statechannels/events{/privacy}","received_events_url":"https://api.github.com/users/statechannels/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/statechannels/monorepo","description":null,"fork":false,"url":"https://api.github.com/repos/statechannels/monorepo","forks_url":"https://api.github.com/repos/statechannels/monorepo/forks","keys_url":"https://api.github.com/repos/statechannels/monorepo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/statechannels/monorepo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/statechannels/monorepo/teams","hooks_url":"https://api.github.com/repos/statechannels/monorepo/hooks","issue_events_url":"https://api.github.com/repos/statechannels/monorepo/issues/events{/number}","events_url":"https://api.github.com/repos/statechannels/monorepo/events","assignees_url":"https://api.github.com/repos/statechannels/monorepo/assignees{/user}","branches_url":"https://api.github.com/repos/statechannels/monorepo/branches{/branch}","tags_url":"https://api.github.com/repos/statechannels/monorepo/tags","blobs_url":"https://api.github.com/repos/statechannels/monorepo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/statechannels/monorepo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/statechannels/monorepo/git/refs{/sha}","trees_url":"https://api.github.com/repos/statechannels/monorepo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/statechannels/monorepo/statuses/{sha}","languages_url":"https://api.github.com/repos/statechannels/monorepo/languages","stargazers_url":"https://api.github.com/repos/statechannels/monorepo/stargazers","contributors_url":"https://api.github.com/repos/statechannels/monorepo/contributors","subscribers_url":"https://api.github.com/repos/statechannels/monorepo/subscribers","subscription_url":"https://api.github.com/repos/statechannels/monorepo/subscription","commits_url":"https://api.github.com/repos/statechannels/monorepo/commits{/sha}","git_commits_url":"https://api.github.com/repos/statechannels/monorepo/git/commits{/sha}","comments_url":"https://api.github.com/repos/statechannels/monorepo/comments{/number}","issue_comment_url":"https://api.github.com/repos/statechannels/monorepo/issues/comments{/number}","contents_url":"https://api.github.com/repos/statechannels/monorepo/contents/{+path}","compare_url":"https://api.github.com/repos/statechannels/monorepo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/statechannels/monorepo/merges","archive_url":"https://api.github.com/repos/statechannels/monorepo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/statechannels/monorepo/downloads","issues_url":"https://api.github.com/repos/statechannels/monorepo/issues{/number}","pulls_url":"https://api.github.com/repos/statechannels/monorepo/pulls{/number}","milestones_url":"https://api.github.com/repos/statechannels/monorepo/milestones{/number}","notifications_url":"https://api.github.com/repos/statechannels/monorepo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/statechannels/monorepo/labels{/name}","releases_url":"https://api.github.com/repos/statechannels/monorepo/releases{/id}","deployments_url":"https://api.github.com/repos/statechannels/monorepo/deployments","created_at":"2019-09-20T15:57:05Z","updated_at":"2019-10-30T17:15:57Z","pushed_at":"2019-10-30T20:06:26Z","git_url":"git://github.com/statechannels/monorepo.git","ssh_url":"git@github.com:statechannels/monorepo.git","clone_url":"https://github.com/statechannels/monorepo.git","svn_url":"https://github.com/statechannels/monorepo","homepage":"https://statechannels.org","size":18027,"stargazers_count":15,"watchers_count":15,"language":"TypeScript","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":61,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":1,"open_issues":61,"watchers":15,"default_branch":"master"}},"base":{"label":"statechannels:master","ref":"master","sha":"ca7e25f77e0d09d38a505a0e83cbfbd5cbe42e6f","user":{"login":"statechannels","id":36797387,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM2Nzk3Mzg3","avatar_url":"https://avatars0.githubusercontent.com/u/36797387?v=4","gravatar_id":"","url":"https://api.github.com/users/statechannels","html_url":"https://github.com/statechannels","followers_url":"https://api.github.com/users/statechannels/followers","following_url":"https://api.github.com/users/statechannels/following{/other_user}","gists_url":"https://api.github.com/users/statechannels/gists{/gist_id}","starred_url":"https://api.github.com/users/statechannels/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/statechannels/subscriptions","organizations_url":"https://api.github.com/users/statechannels/orgs","repos_url":"https://api.github.com/users/statechannels/repos","events_url":"https://api.github.com/users/statechannels/events{/privacy}","received_events_url":"https://api.github.com/users/statechannels/received_events","type":"Organization","site_admin":false},"repo":{"id":209829093,"node_id":"MDEwOlJlcG9zaXRvcnkyMDk4MjkwOTM=","name":"monorepo","full_name":"statechannels/monorepo","private":false,"owner":{"login":"statechannels","id":36797387,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM2Nzk3Mzg3","avatar_url":"https://avatars0.githubusercontent.com/u/36797387?v=4","gravatar_id":"","url":"https://api.github.com/users/statechannels","html_url":"https://github.com/statechannels","followers_url":"https://api.github.com/users/statechannels/followers","following_url":"https://api.github.com/users/statechannels/following{/other_user}","gists_url":"https://api.github.com/users/statechannels/gists{/gist_id}","starred_url":"https://api.github.com/users/statechannels/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/statechannels/subscriptions","organizations_url":"https://api.github.com/users/statechannels/orgs","repos_url":"https://api.github.com/users/statechannels/repos","events_url":"https://api.github.com/users/statechannels/events{/privacy}","received_events_url":"https://api.github.com/users/statechannels/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/statechannels/monorepo","description":null,"fork":false,"url":"https://api.github.com/repos/statechannels/monorepo","forks_url":"https://api.github.com/repos/statechannels/monorepo/forks","keys_url":"https://api.github.com/repos/statechannels/monorepo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/statechannels/monorepo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/statechannels/monorepo/teams","hooks_url":"https://api.github.com/repos/statechannels/monorepo/hooks","issue_events_url":"https://api.github.com/repos/statechannels/monorepo/issues/events{/number}","events_url":"https://api.github.com/repos/statechannels/monorepo/events","assignees_url":"https://api.github.com/repos/statechannels/monorepo/assignees{/user}","branches_url":"https://api.github.com/repos/statechannels/monorepo/branches{/branch}","tags_url":"https://api.github.com/repos/statechannels/monorepo/tags","blobs_url":"https://api.github.com/repos/statechannels/monorepo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/statechannels/monorepo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/statechannels/monorepo/git/refs{/sha}","trees_url":"https://api.github.com/repos/statechannels/monorepo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/statechannels/monorepo/statuses/{sha}","languages_url":"https://api.github.com/repos/statechannels/monorepo/languages","stargazers_url":"https://api.github.com/repos/statechannels/monorepo/stargazers","contributors_url":"https://api.github.com/repos/statechannels/monorepo/contributors","subscribers_url":"https://api.github.com/repos/statechannels/monorepo/subscribers","subscription_url":"https://api.github.com/repos/statechannels/monorepo/subscription","commits_url":"https://api.github.com/repos/statechannels/monorepo/commits{/sha}","git_commits_url":"https://api.github.com/repos/statechannels/monorepo/git/commits{/sha}","comments_url":"https://api.github.com/repos/statechannels/monorepo/comments{/number}","issue_comment_url":"https://api.github.com/repos/statechannels/monorepo/issues/comments{/number}","contents_url":"https://api.github.com/repos/statechannels/monorepo/contents/{+path}","compare_url":"https://api.github.com/repos/statechannels/monorepo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/statechannels/monorepo/merges","archive_url":"https://api.github.com/repos/statechannels/monorepo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/statechannels/monorepo/downloads","issues_url":"https://api.github.com/repos/statechannels/monorepo/issues{/number}","pulls_url":"https://api.github.com/repos/statechannels/monorepo/pulls{/number}","milestones_url":"https://api.github.com/repos/statechannels/monorepo/milestones{/number}","notifications_url":"https://api.github.com/repos/statechannels/monorepo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/statechannels/monorepo/labels{/name}","releases_url":"https://api.github.com/repos/statechannels/monorepo/releases{/id}","deployments_url":"https://api.github.com/repos/statechannels/monorepo/deployments","created_at":"2019-09-20T15:57:05Z","updated_at":"2019-10-30T17:15:57Z","pushed_at":"2019-10-30T20:06:26Z","git_url":"git://github.com/statechannels/monorepo.git","ssh_url":"git@github.com:statechannels/monorepo.git","clone_url":"https://github.com/statechannels/monorepo.git","svn_url":"https://github.com/statechannels/monorepo","homepage":"https://statechannels.org","size":18027,"stargazers_count":15,"watchers_count":15,"language":"TypeScript","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":61,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":1,"open_issues":61,"watchers":15,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/statechannels/monorepo/pulls/276"},"html":{"href":"https://github.com/statechannels/monorepo/pull/276"},"issue":{"href":"https://api.github.com/repos/statechannels/monorepo/issues/276"},"comments":{"href":"https://api.github.com/repos/statechannels/monorepo/issues/276/comments"},"review_comments":{"href":"https://api.github.com/repos/statechannels/monorepo/pulls/276/comments"},"review_comment":{"href":"https://api.github.com/repos/statechannels/monorepo/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/statechannels/monorepo/pulls/276/commits"},"statuses":{"href":"https://api.github.com/repos/statechannels/monorepo/statuses/ca49556aaf51f354e8a5ef9243da10990c88766a"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"lalexgap"}}