Skip to content

useExerciseChoice

useExerciseChoice(): UseExerciseChoiceResult

Defined in: packages/react/src/hooks/useExerciseChoice.ts:108

Hook for exercising choices on Canton contracts

UseExerciseChoiceResult

function AcceptPaymentButton({ contractId }: { contractId: string }) {
const { exercise, isPending, isError, error } = useExerciseChoice()
const { partyId } = useCanton()
const handleAccept = () => {
exercise({
contractId,
templateId: 'Splice.Wallet.Payment:PaymentRequest',
choiceName: 'PaymentRequest_Accept',
choiceArgument: {},
actAs: [partyId],
})
}
return (
<button onClick={handleAccept} disabled={isPending}>
{isPending ? 'Accepting...' : 'Accept Payment'}
</button>
)
}
import { PaymentRequest } from './generated/Splice/Wallet/Payment'
function AcceptPaymentButton({ contractId }: { contractId: string }) {
const { exercise, isPending } = useExerciseChoice()
const { partyId } = useCanton()
const handleAccept = () => {
exercise({
contractId,
templateId: PaymentRequest.templateId,
choiceName: 'PaymentRequest_Accept',
choiceArgument: {},
actAs: [partyId],
})
}
return (
<button onClick={handleAccept} disabled={isPending}>
Accept
</button>
)
}