Skip to content

feat(bounty): treasury payout/cancel without the caller's personal wallet#680

Merged
Benjtalkshow merged 1 commit into
boundlessfi:feat/t-replacefrom
Benjtalkshow:feat/bounty-payout-owner-optional
Jul 8, 2026
Merged

feat(bounty): treasury payout/cancel without the caller's personal wallet#680
Benjtalkshow merged 1 commit into
boundlessfi:feat/t-replacefrom
Benjtalkshow:feat/bounty-payout-owner-optional

Conversation

@Benjtalkshow

Copy link
Copy Markdown
Collaborator

What

For a treasury-funded bounty, the organizer no longer needs to connect their personal wallet to pay out winners or cancel. It mirrors the hackathon use-publish-winners flow.

Why

The backend already signs select_winners / cancel with the on-chain event manager (the treasury/owner that published) — see the pulled backend change + boundlessfi/boundless-nestjs#392, which makes ownerAddress optional. But the FE (useBountyPayout / useBountyCancel) still required the signed-in user's personal managed wallet and sent it as ownerAddress, which mismatches a treasury-owned bounty.

Changes

  • useBountyPayout / useBountyCancel — require a connected wallet only for EXTERNAL (which the wallet signs). For MANAGED, don't block on a personal wallet; send ownerAddress as an optional hint so the backend resolves + signs with the real manager.

Note

ownerAddress is cast because the generated SelectBountyWinnersDto / CancelBountyEscrowDto still mark it required until FE codegen picks up boundless-nestjs#392 (which makes it optional). A codegen refresh after that merges removes the cast.

Verification

  • tsc --noEmit — 0 errors.
  • eslint . — clean.

…payout/cancel

Mirror the hackathon use-publish-winners flow: the backend now signs
select_winners / cancel with the on-chain event manager (the org
treasury or owner that published), so a connected wallet is only needed
for EXTERNAL signing. Stop blocking MANAGED on a personal wallet and send
ownerAddress as an optional hint. Pairs with boundless-nestjs#392.
@vercel

vercel Bot commented Jul 8, 2026

Copy link
Copy Markdown

@Benjtalkshow is attempting to deploy a commit to the Threadflow Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai

coderabbitai Bot commented Jul 8, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: c5b24223-eb39-45a3-8cc2-99582b031940

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Benjtalkshow Benjtalkshow merged commit e2e575a into boundlessfi:feat/t-replace Jul 8, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant