GitHub PullRequestEvent at 2014-06-17 04:32:57
Repository: darkwallet
Actor: sczi
Payload: {"action":"opened","number":145,"pull_request":{"url":"https://api.github.com/repos/darkwallet/darkwallet/pulls/145","id":17215972,"html_url":"https://github.com/darkwallet/darkwallet/pull/145","diff_url":"https://github.com/darkwallet/darkwallet/pull/145.diff","patch_url":"https://github.com/darkwallet/darkwallet/pull/145.patch","issue_url":"https://api.github.com/repos/darkwallet/darkwallet/issues/145","number":145,"state":"open","title":"don't allow transactions with negative amounts or negative fee","user":{"login":"sczi","id":2192860,"avatar_url":"https://avatars.githubusercontent.com/u/2192860?","gravatar_id":"dcdaec39185d62572bdd3941998e0c1f","url":"https://api.github.com/users/sczi","html_url":"https://github.com/sczi","followers_url":"https://api.github.com/users/sczi/followers","following_url":"https://api.github.com/users/sczi/following{/other_user}","gists_url":"https://api.github.com/users/sczi/gists{/gist_id}","starred_url":"https://api.github.com/users/sczi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sczi/subscriptions","organizations_url":"https://api.github.com/users/sczi/orgs","repos_url":"https://api.github.com/users/sczi/repos","events_url":"https://api.github.com/users/sczi/events{/privacy}","received_events_url":"https://api.github.com/users/sczi/received_events","type":"User","site_admin":false},"body":"A sane user won't be trying to send negative transactions, but the wallet shouldn't let them anyway. Also transactions with negative amounts mess up the wallet balance.\r\nI think what happens with the wallet balance is the utxo used in the transaction is seen as spent and subtracted from the unconfirmed amount, but it never sees the change coming back from the invalid negative transaction, so that's not added to the unconfirmed and the wallet balance is too low. Then when it finally times out and calls undo that messes up the balance more. But I don't think that needs separate fixing because as long as darkwallet isn't trying to send invalid transactions it shouldn't be a problem?","created_at":"2014-06-17T04:32:56Z","updated_at":"2014-06-17T04:32:56Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/darkwallet/darkwallet/pulls/145/commits","review_comments_url":"https://api.github.com/repos/darkwallet/darkwallet/pulls/145/comments","review_comment_url":"https://api.github.com/repos/darkwallet/darkwallet/pulls/comments/{number}","comments_url":"https://api.github.com/repos/darkwallet/darkwallet/issues/145/comments","statuses_url":"https://api.github.com/repos/darkwallet/darkwallet/statuses/0aeba4ae81464520169272c123cfa4d2e78ce937","head":{"label":"sczi:develop","ref":"develop","sha":"0aeba4ae81464520169272c123cfa4d2e78ce937","user":{"login":"sczi","id":2192860,"avatar_url":"https://avatars.githubusercontent.com/u/2192860?","gravatar_id":"dcdaec39185d62572bdd3941998e0c1f","url":"https://api.github.com/users/sczi","html_url":"https://github.com/sczi","followers_url":"https://api.github.com/users/sczi/followers","following_url":"https://api.github.com/users/sczi/following{/other_user}","gists_url":"https://api.github.com/users/sczi/gists{/gist_id}","starred_url":"https://api.github.com/users/sczi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sczi/subscriptions","organizations_url":"https://api.github.com/users/sczi/orgs","repos_url":"https://api.github.com/users/sczi/repos","events_url":"https://api.github.com/users/sczi/events{/privacy}","received_events_url":"https://api.github.com/users/sczi/received_events","type":"User","site_admin":false},"repo":{"id":20670304,"name":"darkwallet","full_name":"sczi/darkwallet","owner":{"login":"sczi","id":2192860,"avatar_url":"https://avatars.githubusercontent.com/u/2192860?","gravatar_id":"dcdaec39185d62572bdd3941998e0c1f","url":"https://api.github.com/users/sczi","html_url":"https://github.com/sczi","followers_url":"https://api.github.com/users/sczi/followers","following_url":"https://api.github.com/users/sczi/following{/other_user}","gists_url":"https://api.github.com/users/sczi/gists{/gist_id}","starred_url":"https://api.github.com/users/sczi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sczi/subscriptions","organizations_url":"https://api.github.com/users/sczi/orgs","repos_url":"https://api.github.com/users/sczi/repos","events_url":"https://api.github.com/users/sczi/events{/privacy}","received_events_url":"https://api.github.com/users/sczi/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/sczi/darkwallet","description":"Your keys. Your privacy. Your sovereignty.","fork":true,"url":"https://api.github.com/repos/sczi/darkwallet","forks_url":"https://api.github.com/repos/sczi/darkwallet/forks","keys_url":"https://api.github.com/repos/sczi/darkwallet/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sczi/darkwallet/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sczi/darkwallet/teams","hooks_url":"https://api.github.com/repos/sczi/darkwallet/hooks","issue_events_url":"https://api.github.com/repos/sczi/darkwallet/issues/events{/number}","events_url":"https://api.github.com/repos/sczi/darkwallet/events","assignees_url":"https://api.github.com/repos/sczi/darkwallet/assignees{/user}","branches_url":"https://api.github.com/repos/sczi/darkwallet/branches{/branch}","tags_url":"https://api.github.com/repos/sczi/darkwallet/tags","blobs_url":"https://api.github.com/repos/sczi/darkwallet/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sczi/darkwallet/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sczi/darkwallet/git/refs{/sha}","trees_url":"https://api.github.com/repos/sczi/darkwallet/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sczi/darkwallet/statuses/{sha}","languages_url":"https://api.github.com/repos/sczi/darkwallet/languages","stargazers_url":"https://api.github.com/repos/sczi/darkwallet/stargazers","contributors_url":"https://api.github.com/repos/sczi/darkwallet/contributors","subscribers_url":"https://api.github.com/repos/sczi/darkwallet/subscribers","subscription_url":"https://api.github.com/repos/sczi/darkwallet/subscription","commits_url":"https://api.github.com/repos/sczi/darkwallet/commits{/sha}","git_commits_url":"https://api.github.com/repos/sczi/darkwallet/git/commits{/sha}","comments_url":"https://api.github.com/repos/sczi/darkwallet/comments{/number}","issue_comment_url":"https://api.github.com/repos/sczi/darkwallet/issues/comments/{number}","contents_url":"https://api.github.com/repos/sczi/darkwallet/contents/{+path}","compare_url":"https://api.github.com/repos/sczi/darkwallet/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sczi/darkwallet/merges","archive_url":"https://api.github.com/repos/sczi/darkwallet/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sczi/darkwallet/downloads","issues_url":"https://api.github.com/repos/sczi/darkwallet/issues{/number}","pulls_url":"https://api.github.com/repos/sczi/darkwallet/pulls{/number}","milestones_url":"https://api.github.com/repos/sczi/darkwallet/milestones{/number}","notifications_url":"https://api.github.com/repos/sczi/darkwallet/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sczi/darkwallet/labels{/name}","releases_url":"https://api.github.com/repos/sczi/darkwallet/releases{/id}","created_at":"2014-06-10T02:54:23Z","updated_at":"2014-06-17T04:32:56Z","pushed_at":"2014-06-17T04:06:52Z","git_url":"git://github.com/sczi/darkwallet.git","ssh_url":"git@github.com:sczi/darkwallet.git","clone_url":"https://github.com/sczi/darkwallet.git","svn_url":"https://github.com/sczi/darkwallet","homepage":"http://darkwallet.is","size":7190,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_downloads":true,"has_wiki":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"develop"}},"base":{"label":"darkwallet:develop","ref":"develop","sha":"9160492909398f13da2babcb142ab0bce260f158","user":{"login":"darkwallet","id":6002482,"avatar_url":"https://avatars.githubusercontent.com/u/6002482?","gravatar_id":"d543156c61cefb4e9e8882fc13402243","url":"https://api.github.com/users/darkwallet","html_url":"https://github.com/darkwallet","followers_url":"https://api.github.com/users/darkwallet/followers","following_url":"https://api.github.com/users/darkwallet/following{/other_user}","gists_url":"https://api.github.com/users/darkwallet/gists{/gist_id}","starred_url":"https://api.github.com/users/darkwallet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/darkwallet/subscriptions","organizations_url":"https://api.github.com/users/darkwallet/orgs","repos_url":"https://api.github.com/users/darkwallet/repos","events_url":"https://api.github.com/users/darkwallet/events{/privacy}","received_events_url":"https://api.github.com/users/darkwallet/received_events","type":"Organization","site_admin":false},"repo":{"id":14831050,"name":"darkwallet","full_name":"darkwallet/darkwallet","owner":{"login":"darkwallet","id":6002482,"avatar_url":"https://avatars.githubusercontent.com/u/6002482?","gravatar_id":"d543156c61cefb4e9e8882fc13402243","url":"https://api.github.com/users/darkwallet","html_url":"https://github.com/darkwallet","followers_url":"https://api.github.com/users/darkwallet/followers","following_url":"https://api.github.com/users/darkwallet/following{/other_user}","gists_url":"https://api.github.com/users/darkwallet/gists{/gist_id}","starred_url":"https://api.github.com/users/darkwallet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/darkwallet/subscriptions","organizations_url":"https://api.github.com/users/darkwallet/orgs","repos_url":"https://api.github.com/users/darkwallet/repos","events_url":"https://api.github.com/users/darkwallet/events{/privacy}","received_events_url":"https://api.github.com/users/darkwallet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/darkwallet/darkwallet","description":"Your keys. Your privacy. Your sovereignty.","fork":false,"url":"https://api.github.com/repos/darkwallet/darkwallet","forks_url":"https://api.github.com/repos/darkwallet/darkwallet/forks","keys_url":"https://api.github.com/repos/darkwallet/darkwallet/keys{/key_id}","collaborators_url":"https://api.github.com/repos/darkwallet/darkwallet/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/darkwallet/darkwallet/teams","hooks_url":"https://api.github.com/repos/darkwallet/darkwallet/hooks","issue_events_url":"https://api.github.com/repos/darkwallet/darkwallet/issues/events{/number}","events_url":"https://api.github.com/repos/darkwallet/darkwallet/events","assignees_url":"https://api.github.com/repos/darkwallet/darkwallet/assignees{/user}","branches_url":"https://api.github.com/repos/darkwallet/darkwallet/branches{/branch}","tags_url":"https://api.github.com/repos/darkwallet/darkwallet/tags","blobs_url":"https://api.github.com/repos/darkwallet/darkwallet/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/darkwallet/darkwallet/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/darkwallet/darkwallet/git/refs{/sha}","trees_url":"https://api.github.com/repos/darkwallet/darkwallet/git/trees{/sha}","statuses_url":"https://api.github.com/repos/darkwallet/darkwallet/statuses/{sha}","languages_url":"https://api.github.com/repos/darkwallet/darkwallet/languages","stargazers_url":"https://api.github.com/repos/darkwallet/darkwallet/stargazers","contributors_url":"https://api.github.com/repos/darkwallet/darkwallet/contributors","subscribers_url":"https://api.github.com/repos/darkwallet/darkwallet/subscribers","subscription_url":"https://api.github.com/repos/darkwallet/darkwallet/subscription","commits_url":"https://api.github.com/repos/darkwallet/darkwallet/commits{/sha}","git_commits_url":"https://api.github.com/repos/darkwallet/darkwallet/git/commits{/sha}","comments_url":"https://api.github.com/repos/darkwallet/darkwallet/comments{/number}","issue_comment_url":"https://api.github.com/repos/darkwallet/darkwallet/issues/comments/{number}","contents_url":"https://api.github.com/repos/darkwallet/darkwallet/contents/{+path}","compare_url":"https://api.github.com/repos/darkwallet/darkwallet/compare/{base}...{head}","merges_url":"https://api.github.com/repos/darkwallet/darkwallet/merges","archive_url":"https://api.github.com/repos/darkwallet/darkwallet/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/darkwallet/darkwallet/downloads","issues_url":"https://api.github.com/repos/darkwallet/darkwallet/issues{/number}","pulls_url":"https://api.github.com/repos/darkwallet/darkwallet/pulls{/number}","milestones_url":"https://api.github.com/repos/darkwallet/darkwallet/milestones{/number}","notifications_url":"https://api.github.com/repos/darkwallet/darkwallet/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/darkwallet/darkwallet/labels{/name}","releases_url":"https://api.github.com/repos/darkwallet/darkwallet/releases{/id}","created_at":"2013-12-01T00:21:08Z","updated_at":"2014-06-16T19:22:18Z","pushed_at":"2014-06-16T15:00:06Z","git_url":"git://github.com/darkwallet/darkwallet.git","ssh_url":"git@github.com:darkwallet/darkwallet.git","clone_url":"https://github.com/darkwallet/darkwallet.git","svn_url":"https://github.com/darkwallet/darkwallet","homepage":"http://darkwallet.is","size":18720,"stargazers_count":277,"watchers_count":277,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":false,"forks_count":65,"mirror_url":null,"open_issues_count":32,"forks":65,"open_issues":32,"watchers":277,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/darkwallet/darkwallet/pulls/145"},"html":{"href":"https://github.com/darkwallet/darkwallet/pull/145"},"issue":{"href":"https://api.github.com/repos/darkwallet/darkwallet/issues/145"},"comments":{"href":"https://api.github.com/repos/darkwallet/darkwallet/issues/145/comments"},"review_comments":{"href":"https://api.github.com/repos/darkwallet/darkwallet/pulls/145/comments"},"review_comment":{"href":"https://api.github.com/repos/darkwallet/darkwallet/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/darkwallet/darkwallet/pulls/145/commits"},"statuses":{"href":"https://api.github.com/repos/darkwallet/darkwallet/statuses/0aeba4ae81464520169272c123cfa4d2e78ce937"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"commits":1,"additions":14,"deletions":0,"changed_files":1}}