I noticed that modifying the crowdfunding example so that a wallet makes two contributions instead of one results in an exception because the endpoint can no longer be found for the second contribution: HookError (EndpointNotActive (Just (Wallet {getWallet = 3})) (EndpointDescription {getEndpointDescription = "contribute"}))
.
One can cause this by duplicating the line makeContribution w3 (Ada.lovelaceValueOf 10)
in
plutus/Crowdfunding.hs at 60391c0925d89f95c9810887ed91d50aa895e580 · input-output-hk/plutus · GitHub, for example. I created another example of the error at Bitbucket.
How would one alter the example so that a wallet could make two contributions to the same campaign?