[ghost-dao-interface] Bond "Recipient Address" setting can never work: purchaseBond signs with the wrong account

Component: ghost-dao-interface @ a911859, src/hooks/bonds/index.js:275-294 (purchaseBond), src/containers/Bond/components/BondConfirmModal.jsx:111-120.

Description: The bond purchase UI exposes a recipient address field. BondConfirmModal passes user: recipientAddress and sender (the connected wallet) as separate parameters to purchaseBond, but purchaseBond passes account: user to executeOnChainTransaction. When the recipient differs from the connected wallet, the transaction is prepared from an account the wallet does not control, and @wagmi/core 2.17 getConnectorClient throws for unauthorized accounts before anything is signed. The advertised feature is dead: any custom recipient fails with “Bond transaction failed”.

Impact: Broken advertised feature. No fund loss: it fails loudly before signing.

Reproduction: Code read of the call chain above; set a recipient address different from the connected wallet and observe the pre-sign failure.

Severity: Low. Reason: no fund loss, fails loudly, but a visible setting is non-functional.

Recommendation: Pass account: sender so the connected wallet signs and the bond vests to the recipient.

Verification: VERIFIED (code read, coordinator-verified).

Thank you for your report!

It looks like you are right here. The arguments to the function are messed up. It should have recipientAddress as a separate argument, while passing both in order to use them correctly.