macro_rules! hopper_validate {
(
accounts = $accounts:expr,
program_id = $program_id:expr,
data = $data:expr,
rules {
$( $rule:expr ),+ $(,)?
}
) => { ... };
}Expand description
Build a validation pipeline declaratively.
Each rule is a combinator that returns impl Fn(&ValidationContext) -> ProgramResult.
The macro creates a context, enforces unique writable accounts by default,
and then invokes each rule in order (fail-fast).