1. Typed Calldata Only
Curators should use typed vendor overlays such asshield.morpho.reallocate(vault, allocations, options?). The overlay builds calldata through the vendor’s own SDK. shield.sendCall(...) remains an escape hatch for unwrapped vendors; when using it, the curator owns calldata integrity.
2. Exact-Tx Attestation Binding
The attestation binds to the fullIntent: signer, target, value, calldata, chain, and function signature. A curator cannot swap calldata after approval, and an attacker cannot reuse an approval for a different vault action.
3. Onchain Policy Parameters
Policy params live onchain inNewtonPolicy.PolicyConfig.policyParams. For composite packs, those bytes are a manifest envelope with _manifest, modules, and params; depositors can decode it and compare the modules against getPolicyData() and each oracle’s getWasmCid().