SafeCallResult and CompensationAction in apexchainx_calculator/src/cross_contract_safety.rs are returned from public helpers and need to cross the contract host boundary, but neither is annotated with #[contracttype]. Auto-generated Soroban clients cannot (de)serialise the type when it appears in a contract method signature, leading to a compile error the moment a downstream workflow surfaces the result. Add #[contracttype] (with the appropriate Clone, Debug, Eq, PartialEq derives) so the type is portable, mirroring the fix applied to ConfigBundle in #1 and #19.
SafeCallResultandCompensationActioninapexchainx_calculator/src/cross_contract_safety.rsare returned from public helpers and need to cross the contract host boundary, but neither is annotated with#[contracttype]. Auto-generated Soroban clients cannot (de)serialise the type when it appears in a contract method signature, leading to a compile error the moment a downstream workflow surfaces the result. Add#[contracttype](with the appropriateClone, Debug, Eq, PartialEqderives) so the type is portable, mirroring the fix applied toConfigBundlein #1 and #19.