Problem
ExternalSigner::Enumerate() says it skips duplicate signers, but the current control flow stops enumeration when it finds the first duplicate fingerprint.
This can hide later unique signer entries returned by the same enumerate call.
Fix
Use continue instead of break for duplicate signer entries, so only the duplicate entry is skipped and later entries are still processed.
This does not change error handling: if an enumerate entry reports an error before it reaches the duplicate check, the RPC still reports that error.
Test
The functional test now covers an enumerate result containing one signer, a duplicate of that signer, and a later unique signer.