EVENT_VERSION and the 15 event name constants (EVENT_SLA_CALC, EVENT_PAUSED, EVENT_SETTLE_INTENT, ...) are declared in both apexchainx_calculator/src/lib.rs and apexchainx_calculator/src/event_schema.rs. Two sources of truth invite silent drift if a topic is renamed in one file and not the other, breaking either the contract event stream or the backend parsers built against event_schema.rs. Move the canonical declarations into event_schema.rs and pub use them from lib.rs (the same pattern already used for LAST_CFG_UPDATE_KEY via config_metadata). Add a regression test that asserts every constant exposed by lib.rs points to the same Symbol value as the constant in event_schema.rs.
EVENT_VERSIONand the 15 event name constants (EVENT_SLA_CALC,EVENT_PAUSED,EVENT_SETTLE_INTENT, ...) are declared in bothapexchainx_calculator/src/lib.rsandapexchainx_calculator/src/event_schema.rs. Two sources of truth invite silent drift if a topic is renamed in one file and not the other, breaking either the contract event stream or the backend parsers built againstevent_schema.rs. Move the canonical declarations intoevent_schema.rsandpub usethem fromlib.rs(the same pattern already used forLAST_CFG_UPDATE_KEYviaconfig_metadata). Add a regression test that asserts every constant exposed bylib.rspoints to the sameSymbolvalue as the constant inevent_schema.rs.