You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Part of the Bounty Builder Lifecycle milestone (v1 boundless). The Configure epic's features/bounties/api/escrow-client.ts is organizer-only (participant escrow is explicitly out of scope there). This issue adds the builder/participant data layer to features/bounties/, reusing the shared escrow runner. Default funding mode MANAGED (custodial, no wallet signature) to mirror hackathon participant anchoring.
Context
Part of the Bounty Builder Lifecycle milestone (v1
boundless). The Configure epic'sfeatures/bounties/api/escrow-client.tsis organizer-only (participant escrow is explicitly out of scope there). This issue adds the builder/participant data layer tofeatures/bounties/, reusing the shared escrow runner. Default funding mode MANAGED (custodial, no wallet signature) to mirror hackathon participant anchoring.Blueprint to mirror
features/hackathons/api/escrow-client.ts,use-escrow.ts(participant scope{ kind: 'participant', ... }),use-submission-anchor.tslib/wallet/wallet-kit.ts(signXdrWithKit) for the EXTERNAL fallbackTasks
features/bounties/api/participant-escrow-client.tswrapping the participant REST surface: apply, submit, withdraw-application, withdraw-submission, contribute, ops poll, submit-signed.useBountiesList/useBounty(public),useMyBountyApplication(bountyId)(applications/me),useApplyToBounty/useJoinCompetition/useEditApplication/useWithdrawApplication,useSubmitBounty/useWithdrawSubmission,useMyBountyActivity(apps + submissions). Drive escrow ops throughuseEscrowOpRunner(participant scope, default MANAGED).npm run codegenafter the backend gap endpoints land.Acceptance criteria
Depends on
applications/me+ participant dashboard queries (for the me/my-activity types via codegen).