Summary
process_send_transaction_multichain validates each provided taskId against storage but does not detect duplicate task IDs within the same request array before processing (src/methods/send_tx/multi.rs).
Behavior
The first item succeeds and persists the id; a later item with the same taskId fails with duplicate (4214) after partial relay, leaving the batch in a partially applied state.
Suggested fix
Pre-scan the items slice for duplicate taskId values (when Some) and reject the entire request with -32602 or 4214 before mutating state.
References
src/methods/send_tx/multi.rs
Summary
process_send_transaction_multichainvalidates each providedtaskIdagainst storage but does not detect duplicate task IDs within the same request array before processing (src/methods/send_tx/multi.rs).Behavior
The first item succeeds and persists the id; a later item with the same
taskIdfails with duplicate (4214) after partial relay, leaving the batch in a partially applied state.Suggested fix
Pre-scan the
itemsslice for duplicatetaskIdvalues (whenSome) and reject the entire request with-32602or4214before mutating state.References
src/methods/send_tx/multi.rs