payload: {"action":"closed","issue":{"url":"https://api.github.com/repos/omisego/ewallet/issues/1158","repository_url":"https://api.github.com/repos/omisego/ewallet","labels_url":"https://api.github.com/repos/omisego/ewallet/issues/1158/labels{/name}","comments_url":"https://api.github.com/repos/omisego/ewallet/issues/1158/comments","events_url":"https://api.github.com/repos/omisego/ewallet/issues/1158/events","html_url":"https://github.com/omisego/ewallet/issues/1158","id":492626430,"node_id":"MDU6SXNzdWU0OTI2MjY0MzA=","number":1158,"title":"Consolidate blockchain transaction listener lifecycle","user":{"login":"unnawut","id":921194,"node_id":"MDQ6VXNlcjkyMTE5NA==","avatar_url":"https://avatars1.githubusercontent.com/u/921194?v=4","gravatar_id":"","url":"https://api.github.com/users/unnawut","html_url":"https://github.com/unnawut","followers_url":"https://api.github.com/users/unnawut/followers","following_url":"https://api.github.com/users/unnawut/following{/other_user}","gists_url":"https://api.github.com/users/unnawut/gists{/gist_id}","starred_url":"https://api.github.com/users/unnawut/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/unnawut/subscriptions","organizations_url":"https://api.github.com/users/unnawut/orgs","repos_url":"https://api.github.com/users/unnawut/repos","events_url":"https://api.github.com/users/unnawut/events{/privacy}","received_events_url":"https://api.github.com/users/unnawut/received_events","type":"User","site_admin":false},"labels":[{"id":1204413902,"node_id":"MDU6TGFiZWwxMjA0NDEzOTAy","url":"https://api.github.com/repos/omisego/ewallet/labels/flag/ethereum%20integration","name":"flag/ethereum integration","color":"f995ae","default":false},{"id":861289913,"node_id":"MDU6TGFiZWw4NjEyODk5MTM=","url":"https://api.github.com/repos/omisego/ewallet/labels/kind/refactor%20:gear:","name":"kind/refactor :gear:","color":"40d6cc","default":false},{"id":1210963115,"node_id":"MDU6TGFiZWwxMjEwOTYzMTE1","url":"https://api.github.com/repos/omisego/ewallet/labels/location/backend","name":"location/backend","color":"c2e577","default":false},{"id":993254136,"node_id":"MDU6TGFiZWw5OTMyNTQxMzY=","url":"https://api.github.com/repos/omisego/ewallet/labels/p2/normal","name":"p2/normal","color":"85eafc","default":false}],"state":"closed","locked":false,"assignee":{"login":"mederic-p","id":32560642,"node_id":"MDQ6VXNlcjMyNTYwNjQy","avatar_url":"https://avatars3.githubusercontent.com/u/32560642?v=4","gravatar_id":"","url":"https://api.github.com/users/mederic-p","html_url":"https://github.com/mederic-p","followers_url":"https://api.github.com/users/mederic-p/followers","following_url":"https://api.github.com/users/mederic-p/following{/other_user}","gists_url":"https://api.github.com/users/mederic-p/gists{/gist_id}","starred_url":"https://api.github.com/users/mederic-p/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mederic-p/subscriptions","organizations_url":"https://api.github.com/users/mederic-p/orgs","repos_url":"https://api.github.com/users/mederic-p/repos","events_url":"https://api.github.com/users/mederic-p/events{/privacy}","received_events_url":"https://api.github.com/users/mederic-p/received_events","type":"User","site_admin":false},"assignees":[{"login":"mederic-p","id":32560642,"node_id":"MDQ6VXNlcjMyNTYwNjQy","avatar_url":"https://avatars3.githubusercontent.com/u/32560642?v=4","gravatar_id":"","url":"https://api.github.com/users/mederic-p","html_url":"https://github.com/mederic-p","followers_url":"https://api.github.com/users/mederic-p/followers","following_url":"https://api.github.com/users/mederic-p/following{/other_user}","gists_url":"https://api.github.com/users/mederic-p/gists{/gist_id}","starred_url":"https://api.github.com/users/mederic-p/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mederic-p/subscriptions","organizations_url":"https://api.github.com/users/mederic-p/orgs","repos_url":"https://api.github.com/users/mederic-p/repos","events_url":"https://api.github.com/users/mederic-p/events{/privacy}","received_events_url":"https://api.github.com/users/mederic-p/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/omisego/ewallet/milestones/5","html_url":"https://github.com/omisego/ewallet/milestone/5","labels_url":"https://api.github.com/repos/omisego/ewallet/milestones/5/labels","id":3988925,"node_id":"MDk6TWlsZXN0b25lMzk4ODkyNQ==","number":5,"title":"v2.0","description":"Ethereum integration.","creator":{"login":"T-Dnzt","id":2647689,"node_id":"MDQ6VXNlcjI2NDc2ODk=","avatar_url":"https://avatars2.githubusercontent.com/u/2647689?v=4","gravatar_id":"","url":"https://api.github.com/users/T-Dnzt","html_url":"https://github.com/T-Dnzt","followers_url":"https://api.github.com/users/T-Dnzt/followers","following_url":"https://api.github.com/users/T-Dnzt/following{/other_user}","gists_url":"https://api.github.com/users/T-Dnzt/gists{/gist_id}","starred_url":"https://api.github.com/users/T-Dnzt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/T-Dnzt/subscriptions","organizations_url":"https://api.github.com/users/T-Dnzt/orgs","repos_url":"https://api.github.com/users/T-Dnzt/repos","events_url":"https://api.github.com/users/T-Dnzt/events{/privacy}","received_events_url":"https://api.github.com/users/T-Dnzt/received_events","type":"User","site_admin":false},"open_issues":13,"closed_issues":63,"state":"open","created_at":"2019-01-21T09:35:13Z","updated_at":"2019-10-31T04:15:48Z","due_on":null,"closed_at":null},"comments":1,"created_at":"2019-09-12T07:10:12Z","updated_at":"2019-10-31T04:15:48Z","closed_at":"2019-10-31T04:15:48Z","author_association":"COLLABORATOR","body":"## Is your feature request related to a problem? Please describe.\r\n\r\nSuggestion by @mederic-p:\r\n\r\nFor now we have 2 ways to update transactions:\r\n\r\n- When we make a transaction we start a listener/tracker that will work until we have > XX confirmations\r\n- We also have a listener that listen for incoming transactions if they are interesting for us or not.\r\n\r\nWe should be able to handle everything by just listening for incoming transactions. So there is only 1 source.\r\n\r\n## Describe the solution you'd like\r\n\r\n- Remove transaction listener starting after blockchain submission\r\n- Make transaction listener spins up a short live process for each received transaction event, and determines what needs to be done with the event, e.g. update confirmation count, confirm the transaction, etc. Needs to be on a separate process so not to clog up the transaction listener.\r\n- During application startup, start listeners for all transactions that are not yet final (e.g. still pending confirmations, or blockchain submitted but no confirmations received, etc.). This is to recover from crashes."}}
other: {"actor":{"display_login":"unnawut"}}