Releases: Galxe/gravity-reth
Gravity Testnet v1.0.0
Release: gravity-testnet-v1.0.0
Full Changelog: gravity-v0.5.0...gravity-testnet-v1.0.0
Breaking Changes
System Contract Upgrade
This release introduces a complete system contract overhaul. All system contracts have been replaced with new implementations from gravity_chain_core_contracts, and are fully incompatible with the previous versions.
Key breaking changes:
- New Validator Management Contract: The validator management logic has been completely restructured. The new contract introduces separate handling for validator transactions (#229) and aligns with new ABIs (#231).
- New DKG Contract: The Distributed Key Generation (DKG) contract has been fully replaced (#240).
- New Oracle Contract: The oracle contract and validator set fetcher have been redesigned with new interfaces (#235).
- BLS Verify Precompile: A new BLS12-381 proof-of-possession verification precompile has been added for consensus public key validation during validator registration (#254).
Note: This is the first release for the Gravity Testnet. All nodes must be freshly deployed with the new system contracts — there is no backward compatibility with any previous devnet or internal versions.
ETH Hardfork Compatibility
Gravity Testnet v1.0.0 block header format is compatible up to the Ethereum Prague hardfork. All relevant EIP fields are preserved to maintain upstream reth compatibility, but features not applicable to the Gravity chain are handled as dummy/noop:
| Hardfork | EIP | Field | Gravity Handling |
|---|---|---|---|
| Shanghai | EIP-4895 | withdrawals_root |
Always set to empty withdrawals hash (Gravity uses its own staking/withdrawal mechanism) |
| Cancun | EIP-4844 | excess_blob_gas, blob_gas_used |
Fixed to 0 (blob transactions not supported) |
| Cancun | EIP-4788 | parent_beacon_block_root |
Set to parent_id, only used to pass integrity checks |
| Prague | EIP-6110 | requests_hash |
Empty request list hash (no contract deployed at deposit_contract_address) |
| Prague | EIP-2935 | Blockhashes system call | Noop (no contract at HISTORY_STORAGE_ADDRESS, EVM call silently skips) |
| Prague | EIP-4788 | Beacon root system call | Noop (no contract at BEACON_ROOTS_ADDRESS, EVM call silently skips) |
What's Changed
Features
- feature(onchain_config): align with new contract ABIs from gravity_chain_core_contracts by @ByteYue in #231
- feat(trie): support eth_getProof for nested hash, step 1 by @AshinGau in #237
- feat: Support new dkg contract by @Lchangliang in #240
- feat: Use new oracle contract and fix validator set fetcher by @ByteYue in #235
- feat: Split the validator transaction and execute it separately. by @Lchangliang in #229
- feat: Add block number tracking and oracle state fetching by @ByteYue in #245
- feat: upgrade gravity-api-types version to fix randomnessconfig error by @Lchangliang in #248
- feat: implement bls verify precompile for gravity pipe execution by @nekomoto911 in #254
Bug Fixes
- fix(rocksdb): Detected interrupted trie update, but trie has idempotency by @AshinGau in #236
- fix(test): fix CI test of unit.yml by @AshinGau in #241
- chore(deps): update gaptos deps to include peer_id consistency fix by @nekomoto911 in #242
- fix(trie): fix merkle stage of history sync by @AshinGau in #246
- fix(CI): ignore and skip unsupported actions by @AshinGau in #247
- fix(unwind): calculate storage state root even if is an EOA by @AshinGau in #249
- fix(pipe): fix header timestamp in epoch change block by @nekomoto911 in #250
- fix(rpc): set safe and finalized block when making canonical by @AshinGau in #251
- fix(zstd): use transaction dictionary for tx compressor by @AshinGau in #252
- fix(recovery): heal segments that have existing static files by @AshinGau in #253
- fix(recovery): prune the extra static file rows when checkpoint < highest by @AshinGau in #255
CI & Tooling
- ci: Support hive in Greth by @Lchangliang in #244
gravity-v0.4.1
What's Changed
- refactor(parallel): remove the read provider factory that supports parallel reading by @AshinGau in #213
- fix: Use from block number in uri for relayer by @ByteYue in #214
- fix(pipeline): Make sure the ordered blocks are idempotent by @AshinGau in #216
Full Changelog: gravity-v0.4.0-patch...gravity-v0.4.1
gravity-v0.4.0-patch
What's Changed
- opt(mdbx): sort trie entries and add mdbx bench by @AshinGau in #180
- feat: Support relayer for crosschain stake event by @ByteYue in #181
- feat: update gaptos version by @keanji-x in #182
- feat: update gaptos version by @keanji-x in #184
- fix: update gaptos version to ef69a6d (add dkg runtime) by @keanji-x in #185
- fix: Update gravity-api-types dependency revision by @keanji-x in #186
- feat: Voting power conversion && pass proposer using gravity sdk's internal address by @ByteYue in #183
- fix: Should return err when fetch none by @ByteYue in #189
- feat: update gaptos version to export shared mempool by @keanji-x in #190
- feat: update aptos vesion to make mempool trait async by @keanji-x in #192
- feat: Only support cross chain deposit event in relayer by @ByteYue in #193
- fix: update gaptos to fix vm validator by @keanji-x in #194
- feat: Update the gravity system contract's address by @ByteYue in #195
- fix: Fix repeat jwk fetch by passing from block number from onchain by @ByteYue in #196
- feat: update gaptos version to fix some bug aboud txn broadcasting by @keanji-x in #197
- chore: update gaptos version by @nekomoto911 in #198
- fix(cache): retain deleted account&storage in cache untile persist by @AshinGau in #200
- chore: update aptos to remove logs by @keanji-x in #201
- fix(execution): handle empty account in grevm by @AshinGau in #202
- chore: update gaptos to use tracing logs by @keanji-x in #203
- feat: update gaptos to use rotation by @keanji-x in #204
- feat: implement DKG by @Lchangliang in #199
- feat: merge reth-v1.8.3 by @nekomoto911 in #205
- chore: Update Cargo.toml to fix log in gaptos by @keanji-x in #206
- fix: fix ut compilation after merge v1.8.3 by @nekomoto911 in #207
- fix: update gaptos to fix tracing write by @nekomoto911 in #208
- feat: update gaptos version by @nekomoto911 in #209
- chore: bump version gravity-v0.4.0 by @nekomoto911 in #210
- fix(txpool): ensure skipped high-priority transactions are tracked in BestTransactions (#19940) by @keanji-x in #211
Full Changelog: gravity-v0.3.0-patch-2...gravity-v0.4.0-patch