-
Notifications
You must be signed in to change notification settings - Fork 98
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
Jetton migrations (for discoverable jettons and future standard upgrades) #57
Comments
@Hiyorimi can we get this approved please? thank you! |
|
@shaharyakir is there anyone we can assign yet? |
Not yet |
Hi @Hiyorimi, @shaharyakir! I think I and @deivana can take on this task.
|
|
@shaharyakir thanks! Okay, it's no problem for us to use a stack consisting of |
Thanks for raising that, let me clarify this point and return with an answer |
I think there is no problem to license smart contracts under the GPL. You are just as free to do an open source fork. |
From our reading of the stdlib.fc LGPL license, the TON smart contracts would be considered a "work that uses the library" that is linked to the library. According to section 6, it is allowed to distribute this type of work under terms that you choose. So the smart contract as a whole can be licensed under MIT, as long as the other things written in Section 6 of the license are followed for the part that is GPL. |
@shaharyakir ok, got it. Can you assign me and @deivana to this task? |
@Gusarich can you help please? |
@Gusarich I'm here and confirm my ability to take part in this task. |
@Gusarich The team let us know they will not complete the task. Let's remove the assignees, For anyone looking - this is up for grabs. |
I think there can be some troubles with such migration contract in case if Jetton-wallet has some specific logic for transfers (Jetton burning for example) @shaharyakir are you sure we really need such way for migrations? What's the problem with the default auxiliary contract? |
Can you specify the problematic scenario? The current auxiliary contract solves the discoverability issue, but future extensions to the jetton protocol may require further such contracts which can become cumbersome to manage. |
@shaharyakir I thought about the scenario with auto-burning jettons. There may be some jetton that, for example, burns 0.1% on each transfer as a "fee". In this case, user who wants to migrate their jettons to new version will lose some value because of these two transfers. But anyway, in 99% cases this migration contract will be a good approach. I'd like to take up on this footstep, what do you think? I also have a few suggestions about this footstep's deliverables:
|
Nice point, but I agree about the 99%. |
I'm working on this Footstep in repository: First milestone is completed. I'll implement the contracts soon. |
Contracts & Wrappers are implemented. |
2nd Milestone is completed! |
Sorry for the long delay, I've been quite busy. I'll finish it soon. |
I've opened the PR to the UI repository: All functions are working as intended and it only requires a few minor fixes in visuals. I'll finish it in 2-3 days. |
@shaharyakir, can you tell me approximately when the Pull Request will be merged? |
@shaharyakir, I appeal to you to clarify the situation and elucidate why the Pull Request cannot be merged, as the progress of this Bounty appears to be halted. |
I will look into it tomorrow |
@delovoyhomie we were stalled on e2e testing due to an unexpected result, where we weren't able to migrate jettons. |
Update - waiting for @Gusarich to investigate the code and issue a fix after a 2nd attempt at e2e testing. |
Summary
Provide a migration path for jettons to new contracts.
Context
TEP-89 introduced discoverable jetton minters.
This means that previously deployed jettons are not discoverable and have to deploy an auxiliary contract for adding such capability.
We suggest to support a migration path such that non-discoverable jettons can be migrated to a new (discoverable) minter.
Such a migration solution will also serve further extensions to the jetton protocol in the future.
Suggested Flow
A migration contract will be deployed such that it is linked to a certain minter contract.
Holders of the outdated jetton can send their jettons to the migration contract and receive new jettons instead.
Goals
Come up with a full solution to the migration path, including a contract interface & implementation as well as a UI.
Deliverables
Technical instructions
Definition of Done
The contract is deployable and provides a migration path between minters
Reward
5000$ in TON equivalent paid out by these milestones:
This grant is funded by Orbs as part of its ecosystem grant program.
The text was updated successfully, but these errors were encountered: