Contract event names and schemas can change across versions without a stable identifier, which weakens cross-chain compatibility and schema migration for backends and analytics.
Affected areas: app/contract/contracts/Folder/src/events.rs, app/contract/contracts/Folder/src/lib.rs, app/contract/contracts/Folder/src/metadata.rs, backend parser docs.
Implementation scope:
- Assign stable numeric or semantic event type IDs to every emitted event.
- Embed compatibility metadata in event payloads or schema definitions.
- Document event type stability guarantees and versioning rules.
- Update backend parser to use the stable IDs for compatibility checks.
Acceptance criteria:
- Every contract event is associated with a stable identifier across releases.
- Backend schema validation uses IDs and not only event names.
- Documentation explains how event compatibility is maintained.
Contract event names and schemas can change across versions without a stable identifier, which weakens cross-chain compatibility and schema migration for backends and analytics.
Affected areas:
app/contract/contracts/Folder/src/events.rs,app/contract/contracts/Folder/src/lib.rs,app/contract/contracts/Folder/src/metadata.rs, backend parser docs.Implementation scope:
Acceptance criteria: