This release of Arbitrum includes a number of feature additions, code cleanups/refactors, and bug fixes
Features
- Add a database of confirmed nodes to the validator to support historical queries (#342)
- Make transaction receipt server handle reorgs and restarts (#347)
- Tag all Arbitrum values with a size (Will be used for measuring storage usage) (#275)
- Add GlobalInbox support for transferring control of funds pending withdrawal (#325)
- Change default behavior of
block.timestamp
andblock.number
use based on the L1 block that the transaction was included in rather than the lower bound of the assertion processing the transactions (#354) - Add ability for validator to serve receipts and answer calls based on the pending state (based on messages in the inbox that haven't been included in an assertion). Add a flag in arb-provider-ethers to accept pending results as confirmed if the rollup chain has deterministic assertions (#353)
Refactors
- Standardize method for marking delivered messages with metadata (#346)
- Measure integration tests and unit tests in separate coverage categories (#337)
- Simplify node graph checkpointing (#333)
Fixes
- Fix a number of non-deterministic failures in CircleCI test harness (#351, #350)
- Fix Codecov reporting (#349)
- Add more parallelism to CircleCI (#316, #348)
- Fix parsing of invalid machine file (#336)
- Provide support for deploying contracts larger than ethereum can handle (#332)
- Fix compiler bug that caused compilation of some contracts to fail (#326)
- Properly handle calls with no sender (#315)