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