-
Notifications
You must be signed in to change notification settings - Fork 11.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve SafeERC20 allowance handling #1404
Labels
breaking change
Changes that break backwards compatibility of the public API.
contracts
Smart contract code.
Milestone
Comments
nventuro
added
contracts
Smart contract code.
breaking change
Changes that break backwards compatibility of the public API.
labels
Oct 10, 2018
@Aniket-Engg this is a great one for you to take, if you're up to it :) |
Aniket-Engg
added a commit
to Aniket-Engg/zeppelin-solidity
that referenced
this issue
Oct 11, 2018
Aniket-Engg
added a commit
to Aniket-Engg/zeppelin-solidity
that referenced
this issue
Oct 16, 2018
nventuro
pushed a commit
that referenced
this issue
Oct 18, 2018
* signing prefix added * Minor improvement * Tests changed * Successfully tested * Minor improvements * Minor improvements * Revert "Dangling commas are now required. (#1359)" This reverts commit a688977. * updates * fixes #1404 * approve failing test * suggested changes done * ISafeERC20 removed * allowance methods in library * Improved SafeERC20 tests. * Fixed test coverage.
come-maiz
pushed a commit
that referenced
this issue
Oct 21, 2018
* signing prefix added * Minor improvement * Tests changed * Successfully tested * Minor improvements * Minor improvements * Revert "Dangling commas are now required. (#1359)" This reverts commit a688977. * updates * fixes #1404 * approve failing test * suggested changes done * ISafeERC20 removed * allowance methods in library * Improved SafeERC20 tests. * Fixed test coverage. (cherry picked from commit 315f426)
nventuro
pushed a commit
that referenced
this issue
Nov 1, 2018
…1481) * signing prefix added * Minor improvement * Tests changed * Successfully tested * Minor improvements * Minor improvements * Revert "Dangling commas are now required. (#1359)" This reverts commit a688977. * updates * fixes #1404 * approve failing test * suggested changes done * ISafeERC20 removed * conflict fixes * fixes #1456
nventuro
pushed a commit
that referenced
this issue
Nov 1, 2018
* signing prefix added * Minor improvement * Tests changed * Successfully tested * Minor improvements * Minor improvements * Revert "Dangling commas are now required. (#1359)" This reverts commit a688977. * updates * fixes #1404 * approve failing test * suggested changes done * ISafeERC20 removed * conflict fixes * fixes #1386 * Update SafeMath.test.js
frangio
pushed a commit
that referenced
this issue
Dec 5, 2018
* signing prefix added * Minor improvement * Tests changed * Successfully tested * Minor improvements * Minor improvements * Revert "Dangling commas are now required. (#1359)" This reverts commit a688977. * updates * fixes #1404 * approve failing test * suggested changes done * ISafeERC20 removed * conflict fixes * fixes #1512 * Update test/token/ERC721/ERC721Full.test.js Co-Authored-By: Aniket-Engg <30843294+Aniket-Engg@users.noreply.github.com>
nventuro
pushed a commit
that referenced
this issue
Dec 7, 2018
* signing prefix added * Minor improvement * Tests changed * Successfully tested * Minor improvements * Minor improvements * Revert "Dangling commas are now required. (#1359)" This reverts commit a688977. * updates * fixes #1404 * approve failing test * suggested changes done * ISafeERC20 removed * conflict fixes * fixes #1205 * minor change * suggested changes * reviewed changes * final update
Aniket-Engg
added a commit
to Aniket-Engg/zeppelin-solidity
that referenced
this issue
Dec 21, 2018
frangio
pushed a commit
that referenced
this issue
Jan 4, 2019
* signing prefix added * Minor improvement * Successfully tested * Minor improvements * Minor improvements * Revert "Dangling commas are now required. (#1359)" This reverts commit a688977. * updates * fixes #1404 * approve failing test * suggested changes done * ISafeERC20 removed * conflict fixes * added examples * fixes #706 * linting * fixes #204 * file fixing * deep bignumber comparison removed * Update SafeERC20Helper.sol * Update IERC20.sol * Update SafeERC20.sol * Update package-lock.json * Revert "deep bignumber comparison removed" This reverts commit 230b272.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
breaking change
Changes that break backwards compatibility of the public API.
contracts
Smart contract code.
Currently,
SafeERC20
's allowance-related functionality is restricted to asafeApprove
function, which is vulnerable to the well-known non-zero approval issue in the ERC20 spec. We should:safeIncreaseAllowance
andsafeDecreaseAllowance
, withrequire
on the return value of theERC20
functionsrequire
s tosafeApprove
so that it only works if the new or old allowance are 0 (i.e. it only sets an initial allowance, or sets it to 0, which are the only safe scenarios).This way, we'll be guiding users to the best practices regarding
ERC20
tokens.Props to @cwhinfrey and the Level K team for suggesting this!
The text was updated successfully, but these errors were encountered: