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

[Suggestion] Add exotic Cells support in wallets #283

Closed
yungwine opened this issue Jul 29, 2023 · 19 comments
Closed

[Suggestion] Add exotic Cells support in wallets #283

yungwine opened this issue Jul 29, 2023 · 19 comments

Comments

@yungwine
Copy link
Contributor

I think its important for wallets to support exotic Cells sending. Nowadays we have a lot of special cells implementation in SDKs for popular languages, so its not really a problem to implement that in wallets. However as I checked Tonkeeper and Tonhub do not support that, so I think we can open a bunch of footsteps for this. @delovoyhomie @Gusarich wdyt?

@Gusarich
Copy link
Collaborator

The issue lies more with their SDKs than with the wallets.

@delovoyhomie
Copy link
Collaborator

@thekiba, @tvorogme, @ProgramCrafter, @howardpen9, how do you view the idea of integrating exotic Cells into wallets? Undoubtedly, it's an intriguing feature, but will it be truly beneficial? Could you share your experience and instances when you felt a need for such an integration?

Wallets, as well as their representatives, @divana, @xtonwallet, @tonflow, @sorokin0andrey, @mytonwalletorg, @tonsafe, @dvlkv, @KuznetsovNikita, are you ready to implement wallet support with Exotic Cells.

@xtonwallet
Copy link

Do you mean preview tx or what? SDK prepares tx and wallets just send its to the blockchain. An exotic cell prepares not into wallets. The wallet just can show what type of tx will be sent, but only of it knows abi/tl-b for such tx type. Please clarify more what we have to do...

@ProgramCrafter
Copy link
Contributor

@delovoyhomie it's needed for sending Merkle proofs and updates cells - required, for instance, for Compressed NFTs standard.

@xtonwallet The wallet applications should be able to correctly parse BOCs with exotic cells, wrap them into signed transactions and send them. The task is in place since wallets often use some underlying SDK which may not have support for exotic cells.

@xtonwallet
Copy link

Does any place exist where we can collect all BOCs for the parsing and displaying for the end user? For example as here - https://github.com/tonindexer/anton/blob/main/abi/known/tep74_jetton.json

@Gusarich
Copy link
Collaborator

Does any place exist where we can collect all BOCs for the parsing and displaying for the end user? For example as here - https://github.com/tonindexer/anton/blob/main/abi/known/tep74_jetton.json

We're not talking about some exact messages or structures here. It's about correctly handling exotic cells in general. As far as I know, at the moment, when you try sending a message containing exotic cells in its body - it fails to parse it and so user can't confirm the transaction.

@tvorogme
Copy link
Contributor

tvorogme commented Oct 19, 2023

@delovoyhomie

but will it be truly beneficial?

100% we need this. It'll be cool to have this with v5 wallet release, so plugins can use exotics. Currently, you can sign raw cell, but it's not very user-friendly and simple.

@yungwine
Copy link
Contributor Author

Hey, @xtonwallet! As I know Xtonwallet uses tonweb, but tonweb doesn't support exotic cells. So the Xtonwallet source code needs to be updated to use ton-core package instead.

@xtonwallet
Copy link

Currently, you can sign raw cell, but it's not very user-friendly and simple.

agreed, but need to create some repository or another place with all BOCs that wallets will be able to parse and show in the user-friendly format. And if some new standard will be appeared, then BOC with a structure will be added and all wallets will support this new format intuitively.

@xtonwallet
Copy link

Hey, @xtonwallet! As I know Xtonwallet uses tonweb, but tonweb doesn't support exotic cells. So the Xtonwallet source code needs to be updated to use ton-core package instead.

yes, correctly, we are working already on a big update that will fix and this issue.

@Gusarich
Copy link
Collaborator

Currently, you can sign raw cell, but it's not very user-friendly and simple.

agreed, but need to create some repository or another place with all BOCs that wallets will be able to parse and show in the user-friendly format. And if some new standard will be appeared, then BOC with a structure will be added and all wallets will support this new format intuitively.

@xtonwallet there are no new "standards" in BoC format. We just need to make sure wallets work correctly with exotic cells.

@ProgramCrafter
Copy link
Contributor

@xtonwallet It seems you're missing the point. The feature you're talking about is "attempt to understand what dApp is sending and display that". The feature I'm talking about is "dApp tries to send something with exotic cell, wallet should be able to at least do this even if it can't understand the message structure".

@xtonwallet
Copy link

@xtonwallet It seems you're missing the point. The feature you're talking about is "attempt to understand what dApp is sending and display that". The feature I'm talking about is "dApp tries to send something with exotic cell, wallet should be able to at least do this even if it can't understand the message structure".

Let's more clarify then. TC2.0 demands that dApp must to prepare tx BOC itself, in this case a wallet just must to send it without any modification and it doesn't rely on any SDK in the wallet. If so, we have only the issue with the displaying of that dApp wants to send to the blockchain behalf of the user. Or, if some moment is missed again, please, provide some test BOC with the exotic cell that we can use to check a behavior among the wallet apps.

@ProgramCrafter
Copy link
Contributor

TC2.0 demands that dApp must to prepare tx BOC itself, in this case a wallet just must to send it without any modification and it doesn't rely on any SDK in the wallet.

@xtonwallet This is an error, since dApp prepares an internal message, and wallet app still has to sign it and pack in an external message to wallet contract. dApp simply can't do that because it doesn't have access to private key.

@xtonwallet
Copy link

TC2.0 demands that dApp must to prepare tx BOC itself, in this case a wallet just must to send it without any modification and it doesn't rely on any SDK in the wallet.

@xtonwallet This is an error, since dApp prepares an internal message, and wallet app still has to sign it and pack in an external message to wallet contract. dApp simply can't do that because it doesn't have access to private key.

ok, confirmed, some missed info was from our side. For our wallet needs to migrate on ton-core and it will resolve the issue for deserializeBoc on this step.

@xtonwallet
Copy link

Do we have some service that uses exotic cells already? We want to test our solution on the real case.

@Gusarich
Copy link
Collaborator

Do we have some service that uses exotic cells already? We want to test our solution on the real case.

no such services were created because no wallets supported exotic cells up to this point.
but you can just try sending any message with exotic cell in it. @yungwine can help with checking if it works, I think

@yungwine
Copy link
Contributor Author

@xtonwallet you can follow this link to send message with exotic cell:

ton://transfer/<address>?amount=10000000&bin=te6ccgEBCAEAqgABAAEJRgNE79D9__qPFSM5oBkd4eHFkB_c_hN5ivRDZAr5lha5dwADAiIGAAB4AwQoSAEB7HwTeWGHA1koBNOjP34SDOvpRvp4pndfbuLijYDdt9wAAiEEAAsFIgGIBgcAQ4AN63jPMNwMhhLDs74AhnJNSZslyy-7sVTAhsi1hBei8FAoSAEBpFi4wNxRapsTfZm3Abtg_iX0H1rP8qVKLKSTZoiIDmQAAA==

@xtonwallet
Copy link

Success is 1 by tx that was specified above - https://explorer.toncoin.org/transaction?account=EQAJq2VB-_ivbfnpQfzBk0qT2Tuo8CCYWqJTaHSh_CQuNnC3&lt=42692293000005&hash=31DD911D6B628E82A3C8A130D6CE923D84C659585FFB95732F65149739A1C8DE
Our wallet has migrated to ton-core

@yungwine yungwine closed this as not planned Won't fix, can't repro, duplicate, stale Feb 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants