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.