Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dart TonConnect huge update #862

Open
aap17 opened this issue Nov 5, 2024 · 13 comments
Open

Dart TonConnect huge update #862

aap17 opened this issue Nov 5, 2024 · 13 comments
Assignees
Labels
Approved This proposal is approved by the committee Developer Tool Related to tools or utilities used by developers

Comments

@aap17
Copy link

aap17 commented Nov 5, 2024

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 aap17 added the Developer Tool Related to tools or utilities used by developers label Nov 5, 2024
@aap17
Copy link
Author

aap17 commented Nov 9, 2024

@delovoyhomie @thekiba please review

@novusnota
Copy link
Contributor

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
Copy link

Immadominion commented Nov 15, 2024

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
Copy link

Immadominion commented Nov 15, 2024

Context as stated aap17

The development plan includes:

  • Flutter Compatibility Updates

  • Update DartTonConnect dependencies to support the latest Flutter version.

  • Fix compatibility issues to ensure smooth integration.

  • Simplified State Management and Bridge Requests

  • Streamline TON HTTP bridge requests, making it as intuitive as TonConnect for JavaScript.

  • Add functions for wallet loading, selection, and transaction processing in a single method.

  • Support payload fields for transaction data, including conversion from String to TON cell.

  • User Interface (UI) Enhancements:

  • Add UI components for wallet interactions, such as:

  • Connect TON button.

  • Connect your wallet pop-up.

  • Confirm transaction pop-up.

  • Create design elements consistent with Ton-js styling to improve the user experience in Flutter apps.
    References
    https://github.com/romanovichim/dartTonconnect

Estimated Suggested Reward
1200 USD in TON equivalent

@Immadominion
Copy link

Immadominion commented Nov 16, 2024

@delovoyhomie @thekiba @novusnota 🙇🏻

@aap17
Copy link
Author

aap17 commented Nov 16, 2024

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

@delovoyhomie
Copy link
Collaborator

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?

@delovoyhomie delovoyhomie added the Approved This proposal is approved by the committee label Nov 16, 2024
@aap17
Copy link
Author

aap17 commented Nov 18, 2024

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?

@delovoyhomie we had a discussion previously

@aap17
Copy link
Author

aap17 commented Dec 6, 2024

@novusnota @delovoyhomie
I'm done! I splitted the task in 2 packages:

  1. TON Http bridge flow, for Dart developers

https://github.com/aap17/dart_ton_plus/

  1. UI elements, for Flutter projects

https://github.com/aap17/flutter_ton_buttons

@yavanya
Copy link

yavanya commented Dec 16, 2024

thank you for this update, it works!

@novusnota
Copy link
Contributor

novusnota commented Dec 16, 2024

@aap17 Looks fine, especially the buttons package. That said, why the standalone repo for the TON Connect SDK and not a PR to the existing repository? This would benefit much more people, since there are more educational materials and the bigger user base, that would've just pub upgraded and continued to use (presumably) same APIs.

@aap17
Copy link
Author

aap17 commented Dec 16, 2024

@aap17 Looks fine, especially the buttons package. That said, why the standalone repo for the TON Connect SDK and not a PR to the existing repository? This would benefit much more people, since there are more educational materials and the bigger user base, that would've just pub upgraded and continued to use (presumably) same APIs.

Well, it was a tough decision :) The origin repo seems abandoned, and the author hasn't responded to issues since December 2023. PR requires communication, and the author may not agree with solutions.

I wanted this repo for my own project task as soon as possible, so I just forked it. Sure, I may revert it to PR if you prefer.

@aap17
Copy link
Author

aap17 commented Dec 18, 2024

@novusnota @delovoyhomie

I have published the packages in pub.dev

https://pub.dev/packages/flutter_ton_buttons
https://pub.dev/packages/darttonconnect_plus

My solution already in use by community, according to previous messages. What should I do to complete the issue and receive bounty?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Approved This proposal is approved by the committee Developer Tool Related to tools or utilities used by developers
Projects
None yet
Development

No branches or pull requests

5 participants