ton-society / grants-and-bounties

TON Foundation invites talent to imagine and realize projects that have the potential to integrate with the daily lives of users.
https://ton.org/grants
311 stars 137 forks source link

Dart TonConnect huge update #862

Open aap17 opened 1 week ago

aap17 commented 1 week ago

Summary

Flutter framework can be used for the creation Telegram MiniApps. It looks good and smooth, the only problem is monetization. Currently, there is no out-of-the-box solution for crypto payments for Dart projects. Existed project DartTonConnect provide some functions, but they're not working as well as TonConnect for Javascript development.
Flutter community will be boosted for Ton MiniApps creation when TON crypto payments become simple.

Context

I am eager to update existing projects to make payments flow easier. These improvements are to be made:

  1. Update logic to last flutter version support. DartTonConnect doesn't work at all with the last Flutter version.

  2. Make ton http bridge requests more easy and clear. It will work just as TonConnect for Javascript, just a few methods and it's done:

    Before

    • library broken, doesn't compatible with last Flutter version
    • manual state management, required some time to research TON before use
    • wallets list can be loaded, but selection is not implemented
    • no way to add payload field to transaction

    After

    • fix dependencies, simplify state management.
    • single method to load wallets and show popup with button selection click
    • payload filed support, with possible convertation from String to ton cell
  3. Flutter devs need UI for the wallet selection menu. DartTonConnect doesn't provide UI at all, add UI banners in Ton-js style to make it suitable for the existing design:

    Before No UI at all

    After Ready-to-use widgets: Connect TON button, Connect your wallet pop-up, Confirm transaction pop-up

References

https://github.com/romanovichim/dartTonconnect

Estimate suggested reward

1400$

aap17 commented 1 week ago

@delovoyhomie @thekiba please review

novusnota commented 1 day ago

Interesting proposal. The dartTonconnect did, in fact, got somewhat stale and it would be nice to improve it by contributing said updates. However, the estimated reward seems a little high to me — the original submission stated $1400, and the work required for this one doesn't exceed the work made there. At least from my point of view.

Of course, feel free to disagree :)

Immadominion commented 1 day ago

Can I do this? I am Interested. I am a Flutter developer, and I observed low support for Flutter devs especially in web3. As a community host in my state too, I have met a few devs who fell the same, I would gladly do this for no compensation at all($1,400 is peng tho...)

Also, I have worked with React, Typescript and Javascript. I want to be assigned to this task, to finish it in ~two weeks. or as agreed by the reviewer, def looking into it right now.

Immadominion commented 1 day ago

Context as stated aap17

The development plan includes:

Estimated Suggested Reward 1200 USD in TON equivalent

Immadominion commented 1 day ago

@delovoyhomie @thekiba @novusnota 🙇🏻

aap17 commented 1 day ago

@novusnota thank you for the response. I adjusted the award and ready to start.

delovoyhomie commented 1 day ago

Thank you, @novusnota, for your feedback!

Yes, @aap17, this is indeed a valuable and much-needed suggestion for updating TON Connect in Dart and it aligns perfectly with our previous implementations. This proposal addresses an important improvement and has now been approved.

Could you please share your Telegram handle for further collaboration?