Skip to content
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

Update ReentrancyGuard for Istanbul Hard Fork #1992

Merged
merged 4 commits into from
Nov 13, 2019

Commits on Nov 12, 2019

  1. Update ReentrancyGuard for Istanbul Hard Fork

    Changes:
    Added L37, `_guardCounter = 1;`
    
    Rationale:
    The planned _Istanbul Hard Fork_ will implement [EIP 2200](https://github.com/ethereum/EIPs/blob/e4d4ea348e06c54d0075c400dc7b72430d427ff1/EIPS/eip-2200.md), which implements "net gas metering" for `sstore` operations. If the final value of `_guardCounter` is unchanged relative to the original value of it, a gas refund will be applied and charges for changing the value of `_guardCounter` will effectively not exist. This ends up being cheaper than the current implementation ONLY AFTER Istanbul. Before Istanbul, the added line actually ends up costing more gas.
    
    Note that if `_guardCounter` is `0` initially, the initial cost and subsequent refund will both be larger than if `_guardCounter` is `1` initially. Although in both cases, the net gas cost (`gasCost - gasRefund`) are equal, it's better in terms of cost to have both the gas cost and refund smaller, as there is some limit to the percentage of a gas refund that can actually be realized.
    ericDeCourcy committed Nov 12, 2019
    Configuration menu
    Copy the full SHA
    00567bb View commit details
    Browse the repository at this point in the history
  2. Update CHANGELOG.md

    Added note for change to ReentrancyGuard.sol
    ericDeCourcy committed Nov 12, 2019
    Configuration menu
    Copy the full SHA
    d7e7b11 View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2019

  1. Update ReentrancyGuard.sol

    nventuro committed Nov 13, 2019
    Configuration menu
    Copy the full SHA
    c1c844e View commit details
    Browse the repository at this point in the history
  2. Update CHANGELOG.md

    nventuro committed Nov 13, 2019
    Configuration menu
    Copy the full SHA
    2a0feb7 View commit details
    Browse the repository at this point in the history