TL;DR: Standardizing attributes for ERC-7786 cross-chain messaging gateways to enable consistent message lifecycle control, execution timing, and failure handling.
Background
ERC-7786 introduced an extensible attribute system for cross-chain messaging but left attribute standardization for follow-up specs. Through discussions with Matter Labs’ team and analysis of real-world requirements, clear patterns have emerged for essential message control functionality.
What We’re Proposing
7 standard attributes that address the most common cross-chain messaging needs:
cancellable(bool)
- Enable message cancellationtimeout(uint256)
- Automatic expiration timestampsearliestExecTime(uint256)
- Delayed execution schedulingretryPolicy(bytes)
- Standardized retry mechanismsrevertBehavior(uint8)
- Consistent failure handlingdependsOn(bytes32[])
- Message dependency orderingminGasLimit(uint256)
- Execution gas requirements
Without standardized attributes, each gateway implements these features differently, creating ecosystem fragmentation. Applications need predictable APIs for message control, especially for complex multi-chain workflows.
Looking for feedback on: attribute design, encoding choices, additional use cases we might have missed, and general community input on the approach.