stellar / soroban-example-dapp

End-to-End Example Soroban Dapp
Apache License 2.0
1.03k stars 829 forks source link

LambdaHackWeek: Fix Error: `You Must Provide a signTransaction Function` #159

Open Julian-dev28 opened 5 days ago

Julian-dev28 commented 5 days ago

Please add PRs to the update-P21 branch

Description: Resolve the error occurring in the form-pledge component, where a signTransaction function must be provided either when calling signAndSend or when initializing the Client.

Source: components/molecules/form-pledge/index.tsx (Line 51:18) @ signAndSend

Tasks:

  1. Review Current Implementation:

    • Review the current implementation of the form-pledge component.
    • Identify where the signTransaction function should be integrated.
  2. Provide signTransaction Function:

    • Implement the signTransaction function.
    • Ensure the function is either passed when calling signAndSend or during Client initialization.
  3. Update signAndSend Call:

    • Update the call to signAndSend to include the signTransaction function.
    • Ensure proper handling and passing of required parameters.
  4. Test Functionality:

    • Recreate the issue by running yarn reset, yarn dev, and then clicking the "Mint 100 ABND" button.
    • Test the updated implementation to ensure the error is resolved.
    • Verify that the transaction signing and sending process works as expected.
  5. Update Documentation:

    • Document the changes made to the form-pledge component.
    • Provide instructions on how to use the updated signAndSend functionality.

Expected Outcome:

Why This Is Important: Fixing this error is crucial for ensuring that transactions can be signed and sent correctly within the Soroban Example Dapp. This will enhance the functionality and reliability of the Dapp, providing a smoother user experience.

Code Reference:


components/molecules/form-pledge/index.tsx (Line 51:18) @ signAndSend

  49 | setSubmitting(true)
  50 | const tx = await abundance.mint({ to: account, amount: amount })
> 51 | await tx.signAndSend()
     |        ^
  52 | setSubmitting(false)
  53 | onComplete()
  54 | }}