Description
The path-payment routing logic in complete_path_payment builds a Vec<Address> representing the conversion path but never checks for duplicate addresses within that path. A caller could submit the same intermediate asset twice, which doesn't fail outright but produces a confusing or misleading path that doesn't reflect a real conversion route.
Where
contracts/asset_path_payment/src/lib.rs (path validation block, ~line 148-158)
Acceptance Criteria
Description
The path-payment routing logic in
complete_path_paymentbuilds aVec<Address>representing the conversion path but never checks for duplicate addresses within that path. A caller could submit the same intermediate asset twice, which doesn't fail outright but produces a confusing or misleading path that doesn't reflect a real conversion route.Where
contracts/asset_path_payment/src/lib.rs(path validation block, ~line 148-158)Acceptance Criteria