- f409ce75: Fixes an off-by-one error that would sometimes break replica syncing when stopping and restarting geth.
- d9fd67d2: Correctly log 'end of OVM execution' message.
- 989a3027: Optimize main polling loops
- cc6c7f07: Bump golang version to 1.15
- cb4a928b: Make block hashes deterministic by using the same clique signer key
- f1b27318: Fixes incorrect type parsing in the RollupClient. The gasLimit became greater than the largest safe JS number so it needs to be represented as a string
- a64f8161: Implement the next fee spec in both geth and in core-utils
- 5e4eaea1: fix potential underflow when launching the chain when the last verified index is 0
- 1293825c: Fix gasLimit overflow
- a25acbbd: Refactor the SyncService to more closely implement the specification. This includes using query params to select the backend from the DTL, trailing syncing of batches for the sequencer, syncing by batches as the verifier as well as unified code paths for transaction ingestion to prevent double ingestion or missed ingestion
- c2b6e14b: Implement the latest fee spec such that the L2 gas limit is scaled and the tx.gasPrice/tx.gasLimit show correctly in metamask
- f091e86: Fix to ensure that L1 => L2 success status is reflected correctly in receipts
- f880479: End to end fee integration with recoverable L2 gas limit
- d4c9793: Fixed a bug where reverts without data would not be correctly propagated for eth_call
- 3958644: Adds the
debug_ingestTransactions
endpoint that takes a list of RPC transactions and applies each of them to the state sequentially. This is useful for testing purposes - c880043: Fix gas estimation logic for simple ETH transfers
- 467d6cb: Adds a test for contract deployments that run out of gas
- 4e6c3f9: add an env var METRICS_ENABLE for MetricsEnabledFlag
- e2b70c1: Don't panic on a monotonicity violation
- f5185bb: Fix bug with replica syncing where contract creations would fail in replicas but pass in the sequencer. This was due to the change from a custom batched tx serialization to the batch serialzation for txs being regular RLP encoding
- 20242af: Fixes a bug in L2geth that causes it to skip the first deposit if there have been no deposits batch-submitted yet
- cf3cfe4: Allow for dynamically set configuration of the gasLimit in the contracts by setting the storage slot at runtime
- de5e3dc: Updates
scripts/start.sh
with the mainnet config by default
- 9231063: Prevent montonicity errors in the miner
- b799caa: Updates to use RLP encoded transactions in batches for the
v0.3.0
release
- b799caa: Add value parsing to the rollup client
- b799caa: Removes the extra setting of the txmeta in the syncservice and instead sets the raw tx in the txmeta at the rpc layer
- b799caa: Fill in the raw transaction into the txmeta in the
eth_sendTransaction
codepath - b799caa: Add support for parsed revert reasons in DoEstimateGas
- b799caa: Update minimum response from estimate gas
- b799caa: Add value transfer support to ECDSAContractAccount
- b799caa: Ignore the deprecated type field in the API
- b799caa: Return bytes from both ExecutionManager.run and ExecutionManager.simulateMessage and be sure to properly ABI decode the return values and the nested (bool, returndata)
- b799caa: Block access to RPCs related to signing transactions
- b799caa: Add ExecutionManager return data & RLP encoding
- b799caa: Update gas related things in the RPC to allow transactions with high gas limits and prevent gas estimations from being too small
- 9b7dd4b: Update
scripts/start.sh
to parse the websocket port and pass to geth at runtime - b799caa: Remove the OVMSigner
- b799caa: Prevent 0 value transactions with calldata via RPC
- a0a0052: Add value parsing to the rollup client
- 20df745: Protect a possible
nil
reference ineth_call
when the blockchain is empty - 9f1529c: Update the start script to be more configurable
- 925675d: Update
scripts/start.sh
to regenesis v0.2.0
- 79f66e9: Use constant execution price, which is set by the sequencer
- 5b9be2e: Correctly set the OVM context based on the L1 values during
eth_call
. This will also set it duringeth_estimateGas
. Add tests for this in the integration tests
- 7e9ca1e: Add batch API to rollup client
- 6e8fe1b: Removes mockOVM_ECDSAContractAccount and OVM_ProxySequencerEntrypoint, two unused contracts.
- 76c4ceb: Calculate data fees based on if a byte was zero or non-zero
- d6734f6: Change ROLLUP_BASE_TX_SIZE to camelcase for standard style
- 5e0d0fc: Commit go.sum after a
make test
- 8a2c24a: Set default timestamp refresh threshold to 3 minutes
- ba2e043: Add
VerifiedIndex
to db and api - ef40ed7: Allow gas estimation for replicas
- b290cfe: CPU Optimization by caching ABI methods
- c4266fa: Fix logger error
- 3b00b7c: bump private package versions to try triggering a tag
- Integrate data transport layer
- Refactor
SyncService
- New RPC Endpoint
eth_getBlockRange
Reduce header cache size to allow L2Geth to spin back up.
Pre-minnet fixes.
- gaslimit: fix eth_call (#186)
- rollup: safer historical log syncing (#173)
- config: flag for max acceptable calldata size (#181)
- debug rpc: debug_setL1Head and better l1 timestamp management (#184)
- Fix for hasEmptyAccount (#182)
- gasLimit: error on gas limit too high for queue origin sequencer txs (#180)
- Fixes issue with broken gas limit (#183)
Initial Release
- Feature complete for minnet
- OVM runtime implemented for deterministic transaction execution on L1
- Runs in either Sequencer mode or Verifier mode
rollup
package includes theSyncService
for syncing the Canonical Transaction Chain- New configuration options for rollup related features
- No P2P networking
- Maintains RPC compatibility with geth