Summary
This release supports 0.14.0 fully along with some bugs fixes and improvements.
Features
- SNOS 0.14.0 Support: Added SNOS batching support for L3s, making Madara compatible with version 0.14.0 (#805, #826) - More PRs are in pipeline to fix some issues with L3 settlement
- Admin Endpoint Security: Added
--rpc-unsafeflag to protect critical admin RPC methods (#845) - State Revert Capability: Added ability to revert state, gated behind admin endpoint for controlled state management (#830)
- Chain Config Versioning: Introduced versioning for chain configuration and updated L2 gas price field (#833)
- Manual Docker Builds: Added workflow for manual Docker image building (#839)
- Cairo Native Support: Madara now supports cairo-native, disable by default (#832)
- Fullnode can now be run without automatic reorg by disable reorg config, (#822)
- Orchestrator: Custom versioned constants support, (#852)
Bug Fixes
- Dockerfile: Fixed Dockerfile configuration issues (#820)
- Zaun Deserialization: Bumped Zaun with bytes deserialize fix (#819)
- Batching Logic: Fixed batching logic to handle single block edge case for L3s (#838)
- SQS Configuration: Attached DLQ (Dead Letter Queue) to all queues (#834, #836)
- Transaction Errors: Improved transaction error message formatting by filtering redundant VM tracebacks for better debugging (#837)
- Preconf Transactions: Fixed memory leak by deleting preconfirmation transactions after execution or dropping (#831)
Improvements/Updates
- Zaun Integration: Moved Zaun to main branch (#823)
- Documentation: Added comprehensive documentation to all
mc-*crates (#780) - CI/CD: Added Nightly Run CI to run once daily or manually (#825), update merge CI and create Release CI (#829)
- Testing: Added replay-ability testing on Madara from external nodes (#816)
- Update the aggregator batching logic to check for builtin weights (#828)
- Update the logs of orchestrator (#858)
- Update orchestrator settlement client to handle Fusaka upgrade (#841)
- Update E2E to run with 0.14.0 upgrade (#841)
Migration
- This version introduces versioning of Madara chain config. From now on, older chain configs won't work as they don't have the
config_versionfield. To get a complete log of changes, see the CHAIN_CONFIG_CHANGELOG.md file. To check other changes done in this release, check #833.- To migrate, add
config_versionfield in the config - To specify the L2 gas, remove
l2_gas_target,min_l2_gas_priceandl2_gas_price_max_change_denominatorand specify it usingl2_gas_pricefield withtype-fixedoreip1559
- To migrate, add
- Add
rpc-unsafeflag to enable unsafe methods in admin RPC - The orchestrator AWS role now needs these permissions too for publishing SNS alerts,
sns:GetTopicAttributesandsns:Publish, the sns alerts were failing silently before which has been fixed and orchestrator panics in the preflight checks.
Supported Chain Configs versions
- 1
What's Changed
- feat: Implement SQS message version filtering with receive message filtering by @0xvasanth in #774
- feat: Add blockchain reorganization detection and handling by @0xvasanth in #791
- Release/0.14.0 by @Mohiiit in #810
- 0.14.0 fixes by @Mohiiit in #817
- update: proper events sorting by @heemankv in #818
- fix: dockerfile by @Mohiiit in #820
- bump zaun with bytes deserialize fix by @apoorvsadana in #819
- [Testing] Replay-ability on Madara from external node by @heemankv in #816
- move zaun to main by @apoorvsadana in #823
- Adding documentation to all
mc-*crates by @Trantorian1 in #780 - feat: add SNOS batching support for L3s to make it 0.14.0 compatible by @prkpndy in #805
- run merge ci once a day or manually by @apoorvsadana in #825
- bump: snos to v0.14.0-alpha.1 release by @prkpndy in #826
- Ability to revert state gated behind admin endpoint by @heemankv in #830
- delete preconf txs after they're executed or dropped by @apoorvsadana in #831
- fix: create nightly release when e2e pass and create release images by @prkpndy in #829
- fix: attach DLQ to all queues by @prkpndy in #834
- feat: update batching logic to check for builtin weights when closing agg batch by @prkpndy in #828
- fix: sqs setup by @prkpndy in #836
- Manual Docker Image Build Workflow by @heemankv in #839
- Improve transaction error message formatting by filtering redundant VM tracebacks by @heemankv in #837
- Add
--rpc-unsafeflag to protect dangerous admin RPC methods by @heemankv in #845 - fix: batching logic to handle single block edge case by @prkpndy in #838
- feat: add versioning for chain config and update l2 gas price field by @prkpndy in #833
- Using RevertError for removing VM tracebacks by @heemankv in #848
- Configurable RocksDB Write Options by @heemankv in #844
- Database Consistency and Durability Improvements by @heemankv in #843
- Fix test CLI by @heemankv in #853
- Fixed CLI test by @heemankv in #855
- Fix/orch test parallel by @Mohiiit in #847
- L3 bugs by @byteZorvin in #851
- Add automated Cairo 0 environment setup for builds by @heemankv in #815
- fix: restart madara 0x2 and bouncer weight issue by @Mohiiit in #849
- [Feature] Madara Full Node Snap Sync by @heemankv in #809
- add blacksmith runners by @apoorvsadana in #854
- chore: refactor/fix logs for orchestrator by @prkpndy in #858
- Feat/cairo native on 0.14.0 by @Mohiiit in #832
- feat: add support for versioned constants in Orchestrator by @byteZorvin in #852
- Feature/add no reorg by @byteZorvin in #822
- fix: 0.14.0 E2E tests and change settlement to handle fusaka upgrade by @prkpndy in #841
Full Changelog: v0.8.0...v0.9.0