Context
pay_many_multi pays several splits with a token per split in one call, but it currently has zero test coverage. This moves money across multiple tokens atomically, so gaps here are the kind of thing that matters. See pay_many_multi in contracts/splitter/src/lib.rs.
Acceptance criteria
- Tests cover: a successful mixed-token batch, a failing entry reverting the whole batch (balances unchanged), and the same validation cases as pay_many (empty ids, length mismatch, non-positive amount).
Per CONTRIBUTING.md: one concern, tests required for behaviour changes. CI gate: cargo fmt / cargo clippy --all-targets -- -D warnings / cargo test for Rust, npm run build for the sdk/app.
Context
pay_many_multi pays several splits with a token per split in one call, but it currently has zero test coverage. This moves money across multiple tokens atomically, so gaps here are the kind of thing that matters. See pay_many_multi in contracts/splitter/src/lib.rs.
Acceptance criteria
Per CONTRIBUTING.md: one concern, tests required for behaviour changes. CI gate:
cargo fmt/cargo clippy --all-targets -- -D warnings/cargo testfor Rust,npm run buildfor the sdk/app.