{"action":"created","issue":{"url":"https://api.github.com/repos/OpenZeppelin/zeppelin-solidity/issues/335","repository_url":"https://api.github.com/repos/OpenZeppelin/zeppelin-solidity","labels_url":"https://api.github.com/repos/OpenZeppelin/zeppelin-solidity/issues/335/labels{/name}","comments_url":"https://api.github.com/repos/OpenZeppelin/zeppelin-solidity/issues/335/comments","events_url":"https://api.github.com/repos/OpenZeppelin/zeppelin-solidity/issues/335/events","html_url":"https://github.com/OpenZeppelin/zeppelin-solidity/issues/335","id":245867660,"number":335,"title":"Remove reentrancy guard contract.","user":{"login":"MicahZoltu","id":886059,"avatar_url":"https://avatars2.githubusercontent.com/u/886059?v=4","gravatar_id":"","url":"https://api.github.com/users/MicahZoltu","html_url":"https://github.com/MicahZoltu","followers_url":"https://api.github.com/users/MicahZoltu/followers","following_url":"https://api.github.com/users/MicahZoltu/following{/other_user}","gists_url":"https://api.github.com/users/MicahZoltu/gists{/gist_id}","starred_url":"https://api.github.com/users/MicahZoltu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MicahZoltu/subscriptions","organizations_url":"https://api.github.com/users/MicahZoltu/orgs","repos_url":"https://api.github.com/users/MicahZoltu/repos","events_url":"https://api.github.com/users/MicahZoltu/events{/privacy}","received_events_url":"https://api.github.com/users/MicahZoltu/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2017-07-26T22:00:33Z","updated_at":"2017-08-11T17:10:19Z","closed_at":"2017-08-11T14:24:41Z","body":"https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/ReentrancyGuard.sol\r\nIt is _way_ too easy to incorrectly use the reentrancy guard contract and end up deadlocking your contract.  Recommend removing it from your collection of recommended contracts, even with its caveats listed.  In general, reentrancy guards via modifiers while a good idea on the surface introduce an easy way for a contract author to shoot themselves in the foot.  I think it would be best to instead provide users with education on patterns/practices to avoid reentrancy problems then to encourage them to _depend_ on modifier based reentrancy protection."},"comment":{"url":"https://api.github.com/repos/OpenZeppelin/zeppelin-solidity/issues/comments/321868117","html_url":"https://github.com/OpenZeppelin/zeppelin-solidity/issues/335#issuecomment-321868117","issue_url":"https://api.github.com/repos/OpenZeppelin/zeppelin-solidity/issues/335","id":321868117,"user":{"login":"Ivshti","id":1247629,"avatar_url":"https://avatars3.githubusercontent.com/u/1247629?v=4","gravatar_id":"","url":"https://api.github.com/users/Ivshti","html_url":"https://github.com/Ivshti","followers_url":"https://api.github.com/users/Ivshti/followers","following_url":"https://api.github.com/users/Ivshti/following{/other_user}","gists_url":"https://api.github.com/users/Ivshti/gists{/gist_id}","starred_url":"https://api.github.com/users/Ivshti/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ivshti/subscriptions","organizations_url":"https://api.github.com/users/Ivshti/orgs","repos_url":"https://api.github.com/users/Ivshti/repos","events_url":"https://api.github.com/users/Ivshti/events{/privacy}","received_events_url":"https://api.github.com/users/Ivshti/received_events","type":"User","site_admin":false},"created_at":"2017-08-11T17:10:19Z","updated_at":"2017-08-11T17:10:19Z","body":"We have to keep in mind, before solidity 0.4.x (or so) there was a caveat where if a function returns, the rest of the modifier code would not be executed, because the \"_\" in the modifier acted as a pre-processor replacement rather than a function call.\r\n\r\nI think this is resolved in solidity now and therefore should not be a problem.\r\n\r\nPlease correct me if I'm wrong"}}
{"actor":{"display_login":"Ivshti"}}