github.com/ethereum-optimism/optimism@v1.7.2/packages/contracts-bedrock/CHANGELOG.md (about)

     1  # @eth-optimism/contracts-bedrock
     2  
     3  ## 0.17.1
     4  
     5  ### Patch Changes
     6  
     7  - [#9415](https://github.com/ethereum-optimism/optimism/pull/9415) [`79effc52e8b82d15b5eda43acf540ac6c5f8d5d7`](https://github.com/ethereum-optimism/optimism/commit/79effc52e8b82d15b5eda43acf540ac6c5f8d5d7) Thanks [@nitaliano](https://github.com/nitaliano)! - Bumps version so fpac contracts exist for SDK to consume
     8  
     9  ## 0.16.2
    10  
    11  ### Patch Changes
    12  
    13  - [#7450](https://github.com/ethereum-optimism/optimism/pull/7450) [`ac90e16a7`](https://github.com/ethereum-optimism/optimism/commit/ac90e16a7f85c4f73661ae6023135c3d00421c1e) Thanks [@roninjin10](https://github.com/roninjin10)! - Updated dev dependencies related to testing that is causing audit tooling to report failures
    14  
    15  ## 0.16.1
    16  
    17  ### Patch Changes
    18  
    19  - [#7244](https://github.com/ethereum-optimism/optimism/pull/7244) [`2440f5e7a`](https://github.com/ethereum-optimism/optimism/commit/2440f5e7ab6577f2d2e9c8b0c78c014290dde8e7) Thanks [@nitaliano](https://github.com/nitaliano)! - bumps sdk version to have access to sepolia deployments
    20  
    21  ## 0.16.0
    22  
    23  ### Minor Changes
    24  
    25  - [#6206](https://github.com/ethereum-optimism/optimism/pull/6206) [`72d184854`](https://github.com/ethereum-optimism/optimism/commit/72d184854ebad8b2025641f126ed76573b1f0ac3) Thanks [@tynes](https://github.com/tynes)! - Migrate contracts periphery into bedrock
    26  
    27  ### Patch Changes
    28  
    29  - [#6164](https://github.com/ethereum-optimism/optimism/pull/6164) [`c11039060`](https://github.com/ethereum-optimism/optimism/commit/c11039060bc037a88916c2cba602687b6d69ad1a) Thanks [@pengin7384](https://github.com/pengin7384)! - fix typo
    30  
    31  - [#6198](https://github.com/ethereum-optimism/optimism/pull/6198) [`77da6edc6`](https://github.com/ethereum-optimism/optimism/commit/77da6edc643e0b5e39f7b6bb41c3c7ead418a876) Thanks [@tremarkley](https://github.com/tremarkley)! - Delete dead typescript https://github.com/ethereum-optimism/optimism/pull/6148.
    32  
    33  ## 0.15.0
    34  
    35  ### Minor Changes
    36  
    37  - af292562f: Fix issue with deposits running out of gas
    38  
    39  ### Patch Changes
    40  
    41  - Updated dependencies [8d7dcc70c]
    42  - Updated dependencies [d6388be4a]
    43    - @eth-optimism/core-utils@0.12.1
    44  
    45  ## 0.14.0
    46  
    47  ### Minor Changes
    48  
    49  - 197884eae: Bump XDM semver after #5444
    50  - 6eb05430d: Increase precision in `SafeCall.hasMinGas`
    51  - 5063a69fb: Update sdk contract addresses for bedrock
    52  
    53  ### Patch Changes
    54  
    55  - f1e867177: contracts-bedrock was exporting hardhat when it didn't need to be
    56  
    57  ## 0.13.2
    58  
    59  ### Patch Changes
    60  
    61  - b16067a9f: Reduce the time that the system dictator deploy scripts wait before checking the chain state.
    62  - 9a02079eb: Makes the Proxy contract inheritable by making functions (public virtual).
    63  - 98fbe9d22: Added a contsructor to the System Dictator
    64  
    65  ## 0.13.1
    66  
    67  ### Patch Changes
    68  
    69  - 22c3885f5: Optionally print cast commands during migration
    70  - f52c07529: Print tenderly simulation links during deployment
    71  
    72  ## 0.13.0
    73  
    74  ### Minor Changes
    75  
    76  - cb19e2f9c: Moves `FINALIZATION_PERIOD_SECONDS` from the `OptimismPortal` to the `L2OutputOracle` & ensures the `CHALLENGER` key cannot delete finalized outputs.
    77  
    78  ## 0.12.1
    79  
    80  ### Patch Changes
    81  
    82  - 80f2271f5: Update foundry
    83  
    84  ## 0.12.0
    85  
    86  ### Minor Changes
    87  
    88  - efc98d261: Change the `relayMessage` reentrancy guard in the XDMs to be per-message.
    89  
    90  ### Patch Changes
    91  
    92  - 7c0a2cc37: add is IERC165 to IOptimismMintableERC20
    93  - 2865dd9b4: Minor comment updates and cleanup to the SystemConfig contract.
    94  - 388f2c25a: Trigger a release including CrossDomainOwnable3
    95  
    96  ## 0.11.4
    97  
    98  ### Patch Changes
    99  
   100  - 3c22333b8: Loosens the requirements for re-proving a withdrawal transaction in the `OptimismPortal`
   101  
   102  ## 0.11.3
   103  
   104  ### Patch Changes
   105  
   106  - 4964be480: Added a test for large deposit gaps
   107  
   108  ## 0.11.2
   109  
   110  ### Patch Changes
   111  
   112  - 8784bc0bc: Add invariant test for the L1 XDM's `relayMessage` minimum gas limits.
   113  
   114  ## 0.11.1
   115  
   116  ### Patch Changes
   117  
   118  - fe80a9488: Add echidna tests for portal
   119  - 827fc7b04: Adds a go package to generate fuzz inputs for the Bedrock contract tests.
   120  - a2166dcad: Add echidna tests for metering
   121  - ff09ec22d: Add echidna tests for hashing
   122  - 85dfa9fe2: Add echidna tests for encoding
   123  - 0f8fc58ad: Add echidna tests for Burn
   124  - 89f70c591: Add tests for the `Bytes` library
   125  - 03940c3cb: Make lint check and fix scripts match
   126  
   127  ## 0.11.0
   128  
   129  ### Minor Changes
   130  
   131  - 4d13f0afe: Refactors the MerkleTrie get function to throw explicitly instead of returning an existence boolean
   132  
   133  ### Patch Changes
   134  
   135  - 43f33f39f: Add echidna test commands
   136  - 237a351f1: Add tests to the SystemConfig contract
   137  - 1d3c749a2: Bumps the version of ts-node used
   138  - 1594678e0: Add echidna test for AliasHelper
   139  - 1d3c749a2: Updates the version of TypeScript
   140  - 136ea1785: Refactors the L2OutputOracle to key the l2Outputs mapping by index instead of by L2 block number.
   141  - 7300a7ca7: Document test function naming convention and create a script for checking.
   142  - Updated dependencies [c975c9620]
   143  - Updated dependencies [136ea1785]
   144    - @eth-optimism/core-utils@0.12.0
   145  
   146  ## 0.10.0
   147  
   148  ### Minor Changes
   149  
   150  - 59adcaa09: Deleted Unused Variables fundAccount , impersonatedTx
   151  - 1bfe79f20: Adds an implementation of the Two Step Withdrawals V2 proposal
   152  
   153  ### Patch Changes
   154  
   155  - c025a1153: Fixes a severe vulnerability found in ToB's November 2022 audit of the Bedrock contracts
   156  - f8697a607: Removes historicalTotalBlocks from the L2OutputOracle
   157  - c71500a7e: Updates L2OutputOracle to easily delete multiple outputs at once
   158  - f49b71d50: Updated forge-std version
   159  - ccaf5bc83: Allows owner and proposer addresses to be the same in L2OutputOracle
   160  
   161  ## 0.9.1
   162  
   163  ### Patch Changes
   164  
   165  - 52079cc12: Has ProxyAdmin use Ownable instead of Owned
   166  - 13bfafb21: Tweaks variable ordering in OptimismPortal
   167  - eeae96941: Removes the unused DeployConfig contract
   168  - 427831d86: Add comments to SystemConfig.sol
   169  
   170  ## 0.9.0
   171  
   172  ### Minor Changes
   173  
   174  - 87702c741: Use SCREAMING_SNAKE_CASE for immutables
   175  
   176  ### Patch Changes
   177  
   178  - c02831144: Introduces layout lock and more storage layout verification
   179  - d58b0a397: Cleans up remaining lint warnings
   180  - ff860ecf3: Introduces the MigrationSystemDictator for the Bedrock migration
   181  - cc5adbc61: Updates function ordering in ProxyAdmin to match original contract
   182  - 31c91ea74: Adds another assertion in the CrossDomainMessenger to explicitly identify an invariant which was previously implicit.
   183  - Updated dependencies [1e76cdb86]
   184    - @eth-optimism/core-utils@0.11.0
   185  
   186  ## 0.8.3
   187  
   188  ### Patch Changes
   189  
   190  - db84317b: Various RLP updates
   191  - 9b90c732: Added codecov badge to readme
   192  
   193  ## 0.8.2
   194  
   195  ### Patch Changes
   196  
   197  - 7d7d9ba8: Moves initializers underneath constructors always
   198  
   199  ## 0.8.1
   200  
   201  ### Patch Changes
   202  
   203  - 35a7bb5e: Use uint64 for arithmetic in XDM's baseGas
   204  - a5e715c3: Rename the event emitted in the L2ToL1MessagePasser
   205  - d18b8aa3: Removes an unnecessary initializer parameter in the L200
   206  
   207  ## 0.8.0
   208  
   209  ### Minor Changes
   210  
   211  - 3d4e8529: No refunds!
   212  
   213  ### Patch Changes
   214  
   215  - 6ed68fa3: Fixes a small bug in the constructor of the L2OutputOracle contract
   216  - caf5dd3e: Updates README to include versioning rules.
   217  - a6cbfee2: Fuzz L2ToL1MessagePasser
   218  - 394a26ec: Modifies the StandardBridge to move a value check deeper down the call stack to be more defensive.
   219  
   220  ## 0.7.0
   221  
   222  ### Minor Changes
   223  
   224  - e2faaa8b: Moves the L2ToL1MessagePasser to a new address and puts a LegacyMessagePasser at the old address.
   225  
   226  ### Patch Changes
   227  
   228  - cb5fed67: Clarify intent with mintable token interfaces
   229  - c427f0c0: Fixes to natspec docs
   230  - d28ad592: Tweaks storage spacers to standardize names and use original types
   231  - 76c8ee2d: Fix event names orderings for `OptimismMintableERC20Created`
   232  
   233  ## 0.6.3
   234  
   235  ### Patch Changes
   236  
   237  - 88dde7c8: Uses assert rather than a require statements to check for conditions we believe are unreachable.This is more semantically explicit, and should enable us to more effectively use some advanced analysis methods in our testing.
   238  - 7215f4ce: Bump ethers to 5.7.0 globally
   239  - 249a8ed6: Fixed a backwards compatibility issue in which incorrect events were emitted during a failed deposit finalization on the L2 bridge.
   240  - 7d7c4fdf: Makes spacers private and updates names to reflect slot, offset, and length.
   241  - e164e22e: Makes finalizeWithdrawalTransaction not payable because it doesn't need to be and it was causing confusion throughout the codebase.
   242  - 0bc1be45: Make the use of storage gaps consistent across contracts
   243  - af3e56b1: Fix to Ensure the Oracle's owner and proposer accounts are unique
   244  - 206f6033: Fix outdated references to 'withdrawal contract'
   245  - 88dde7c8: Use assert statements for unreachable conditions.
   246  - 8790156c: Simplifies the initialization function of the CrossDomainMessenger in Bedrock
   247  - 515685f4: Update comments on GovernanceToken to match Seaport style.
   248  - Updated dependencies [7215f4ce]
   249  - Updated dependencies [206f6033]
   250    - @eth-optimism/core-utils@0.10.1
   251  
   252  ## 0.6.2
   253  
   254  ### Patch Changes
   255  
   256  - 651a2883: Make spacer variables private in the Bridge and Messenger contracts so that they cannot be accessed in child contracts.
   257  
   258  ## 0.6.1
   259  
   260  ### Patch Changes
   261  
   262  - 85232179: Add CrossDomainOwnable contracts
   263  - 593f1cfb: Removes the blockedSystemMessages mapping in favor of a simpler approach to preventing messages from being sent to internal system addresses.
   264  - f78eb056: Prevents v0 (legacy) messages from being relayed in the bedrock XDM.
   265  
   266  ## 0.6.0
   267  
   268  ### Minor Changes
   269  
   270  - 7fdc490c: Removes initializer from StandardBridge in favor of immutables
   271  - 3d228a0e: Updates the storage layout for the CrossDomainMessenger base contract to reduce diff with the existing system.
   272  
   273  ### Patch Changes
   274  
   275  - 63ef1949: Delete hardhat genesis tasks
   276  - Updated dependencies [dbfea116]
   277    - @eth-optimism/core-utils@0.10.0
   278  
   279  ## 0.5.4
   280  
   281  ### Patch Changes
   282  
   283  - a095d544: Include latest devnet deployment artifacts
   284  - cdf2163e: Bump oz packages to latest release
   285  - 791f30bc: Migrate deploy config to json from ts
   286  - 193befed: Fix nonce issue for parallel deployments
   287  - 02420db0: Add missing predeploy to Predeploys.sol
   288  - 94a8f287: Moves forge-std and ds-test to devDependencies to avoid breaking npm
   289  - 7d03c5c0: Update the L2 genesis hardhat task to use the ProxyAdmin's deployed address as the admin of each predeploy
   290  - fec22bfe: Fix legibility in the L2CrossDomainMessengerInitializer
   291  - 9272253e: Make a library call internal
   292  - c025f418: Add additional deployments of address manager and proxy admin
   293  - 329d21b6: Use safecall that doesn't copy calldata
   294  - 35eafed0: Deletes the L2 genesis creation hardhat task as its now replaced by go code
   295  - 3cde9205: Update @foundry-rs/hardhat-forge to 0.1.17
   296  
   297  ## 0.5.3
   298  
   299  ### Patch Changes
   300  
   301  - 056cb982: Fix slither script
   302  - a32e68ac: Update genesis-l2 task to set immutables in the bytecode
   303  - c648d55c: Fix build for smaller package
   304  - d544f804: Use the same initializable across codebase
   305  - ccbfe545: Update @foundry-rs/hardhat-forge@0.1.16
   306  - c97ad241: Fix build on latest foundry
   307  - 45541553: Emit an extra event when withdrawals are initiated to make chainops easier
   308  - 3dd296e8: Fix portal deployment to have L2OutputOracle proxy address
   309  - fe94b864: Add watch task
   310  - 28649d64: Add harhdat forge contract verification support
   311  - 898c7ac5: Update hardhat-forge dep, remove dead deps
   312  - 51a1595b: bedrock-goerli-96f44f79 deployment
   313  - 8ae39154: Update deposit transaction type
   314  - af96563a: Fix typechain exports
   315  - dac4a9f0: Updates the SDK to be compatible with Bedrock (via the "bedrock: true" constructor param). Updates the build pipeline for contracts-bedrock to export a properly formatted dist folder that matches our other packages.
   316  - Updated dependencies [0df744f6]
   317  - Updated dependencies [8ae39154]
   318  - Updated dependencies [dac4a9f0]
   319    - @eth-optimism/core-utils@0.9.3
   320  
   321  ## 0.5.2
   322  
   323  ### Patch Changes
   324  
   325  - 1a22e822: Standardizes revert strings globally
   326  - 5e113137: Fixes a bug in the L2 Bedrock genesis script
   327  - 177a9ea8: Cleans linting errors in MerkleTrie.sol
   328  - 7d68f82f: Adds a new event SentMessageExtension1 to the CrossDomainMessenger contract. Includes additional data that's being attached to messages sent after the Bedrock upgrade.
   329  - 90630336: Properly generates and exports ABI and artifact files that can be imported by client libraries
   330  - 8bd7abde: Moves various legacy contracts into the legacy folder
   331  - 7e6eb9b2: The output oracle's getL2Output function now reverts when no output is returned
   332  - f243dacf: Bump to use solidity 0.8.15
   333  - 8d26459b: Remove subversion byte from deposit tx
   334  - fa9823f3: Naming improvements for functions and variables in the L2OutputOracle
   335  - 0bf3b9b4: Update forge-std
   336  - e764cbb7: Shortens library names
   337  - 3a0271f8: Introduces Types.sol
   338  - 5de373ea: Semver contract updated to include a getter for the full version string
   339  - Updated dependencies [0bf3b9b4]
   340  - Updated dependencies [8d26459b]
   341  - Updated dependencies [4477fe9f]
   342    - @eth-optimism/core-utils@0.9.2
   343  
   344  ## 0.5.1
   345  
   346  ### Patch Changes
   347  
   348  - e4693481: Clean up BytesUtils
   349  - b7b77d6c: Updates CrossDomainMessenger.baseGas to more accurately reflect gas costs
   350  - 9d435aec: Cleans up natspec in MerkleTrie and SecureMerkleTrie contracts
   351  - 87f745b5: Cleans up various compiler warnings
   352  - 8a3074ab: Minor cleanups to initialization and semver for L1 contracts
   353  - e1501bc0: Clears most contract linting warnings
   354  
   355  ## 0.5.0
   356  
   357  ### Minor Changes
   358  
   359  - 42a4cc30: Remove Lib* and OVM* prefixes from all contracts
   360  
   361  ### Patch Changes
   362  
   363  - 0cb3929e: Move encoding and hashing into Encoding and Hashing libraries
   364  - 28bd76ae: Cleans up hashing and encoding library natspec and function names
   365  - 4279647f: Port RLPWriter tests
   366  - ce6cb121: Use external version of ExcessivelySafeCall
   367  - 8986f165: Fix solc warnings in ProxyAdmin
   368  - 69ee689f: Remove unnecessary DefaultValues library
   369  - 2e89f634: Fixes a bug that caused L2 timestamps to be computed incorrectly
   370  - 49d33b08: Standardizes comments, errors, and events for contracts in the /universal package
   371  - 821907e2: Bump typechain to 8.1.0
   372  - 91b31168: Clean up comments and errors for legacy contracts
   373  - 3c5726d4: Cleaned up enums, should be CapitalCase enums and UPPER_CASE values
   374  - eb11a5bb: Add comments to RLP libraries
   375  - 092b0901: Update to new L2 tx hash style for deposits
   376  - 4ea33e13: Standardizes initialization logic for L1 contracts
   377  - 297af083: Move contracts written by external parties into a vendor folder
   378  - 71800503: Reduce the number of compiler warnings
   379  - 611d93a1: Remove storage slot buffer in xdomain messengers
   380  - 75089d0a: Cleans up initialization logic everywhere
   381  - b9a90f32: Rename OptimismMintableTokenFactory to OptimismMintableERC20Factory
   382  - 50e20ea1: Fix initialization logic
   383  - 6f74ca9f: Clean up the PredeployAddresses library
   384  - c031ec95: Tests for RLPReader
   385  - 9c8b1f00: Bump forge-std to 62caef29b0f87a2c6aaaf634b2ca4c09b6867c92
   386  - 89d01f2e: Add semver to L2 contracts
   387  - 7d9820b6: Resolve compiler warnings in Proxy.sol
   388  - f9fee446: Move the `DepositTx` type to `core-utils`. This way it can be more easily used across projects
   389  - 5050e0fb: Remove "not implemented" errors in virtual functions
   390  - 78d7c2ec: Update typechain pipeline
   391  - 89d01f2e: Update dev deps
   392  - Updated dependencies [f9fee446]
   393    - @eth-optimism/core-utils@0.9.1
   394  
   395  ## 0.4.1
   396  
   397  ### Patch Changes
   398  
   399  - 5c3b4bfa: Enable hardhat style buildinfo
   400  - ef29d8a5: Make the Portal upgradeable
   401  - 5bb6f2c7: Add `OptimismPortal.isOutputFinalized`
   402  - 79f31007: correct l33t sp34k in toCodeAddrr
   403  - 5a12c635: Add deployer docker image
   404  - 8460865f: Optimize buildinfo support, only build through hardhat interface
   405  
   406  ## 0.4.0
   407  
   408  ### Minor Changes
   409  
   410  - a828da9f: Add separate sequencer role to Oracle
   411  
   412  ### Patch Changes
   413  
   414  - a828da9f: Separate the owner and sequencer roles in the OutputOracle
   415  - 347fd37c: Fix bug in bedrock deploy scripts
   416  - 700dcbb0: Add genesis script
   417  - 931e517b: Fix order of args to L2OO constructor
   418  - 93e2f750: Fix for incorrect constructor args in deploy config
   419  - ddf515cb: Make the output oracle upgradeable.
   420  - Updated dependencies [700dcbb0]
   421    - @eth-optimism/core-utils@0.9.0
   422  
   423  ## 0.3.0
   424  
   425  ### Minor Changes
   426  
   427  - 35757456: Replaces L2 timestamps with block numbers as the key in mapping(uint => OutputProposal).
   428  
   429  ### Patch Changes
   430  
   431  - f23bae0b: bedrock: ProxyAdmin rename OpenZeppelin proxy to ERC1967
   432  - fadb1a93: OZ Audit fixes with a Low or informational severity:
   433  
   434    - Hardcode constant values
   435    - Require that msg.value == \_amount on ETH withdrawals
   436    - use \_from in place of msg.sender when applicable in internal functions
   437  
   438  - f23bae0b: bedrock: Simplify ProxyAdmin static calls
   439  - 650ca6d4: Fixes to medium severity OZ findings
   440  
   441    - Disallow reentrant withdrawals
   442    - remove donateEth
   443    - Correct ordering of \_from and \_to arguments on refunds of failed deposits
   444  
   445  - 9aa8049c: Have contracts-bedrock properly include contract sources in npm package
   446  
   447  ## 0.2.0
   448  
   449  ### Minor Changes
   450  
   451  - 04884132: Corrects the ordering of token addresses when a finalizeBridgeERC20 call fails
   452  
   453  ### Patch Changes
   454  
   455  - 0a5ca8bf: Deployment for bedrock contracts on goerli
   456  - 2f3fae0e: Fix hh artifact schema
   457  - a96cbe7c: Fix style for L2 contracts to match L1 contracts
   458  - 29ff7462: Revert es target back to 2017
   459  - 14dd80f3: Add proxy contract
   460  - Updated dependencies [29ff7462]
   461    - @eth-optimism/core-utils@0.8.7
   462  
   463  ## 0.1.3
   464  
   465  ### Patch Changes
   466  
   467  - c258acd4: Update comments and style for L1 contracts
   468  
   469  ## 0.1.2
   470  
   471  ### Patch Changes
   472  
   473  - 07a84aed: Move core-utils to deps instead of devdeps
   474  
   475  ## 0.1.1
   476  
   477  ### Patch Changes
   478  
   479  - 1aca58c4: Initial release