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.

Home Page:https://ton.org/grants

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Rewrite multisig wallet scripts from `.fif` to TypeScript and integrate to the `ton.js` SDK

SwiftAdviser opened this issue · comments

commented

Summary

Multisig wallet is an essential instrument for DAOs, funds, DEXes, communities, and even small partnerships.

While the TON Ecosystem's goal is to reach mass adoption, it's pretty hard to attract partners from other chains without clear instructions on how to use a multi-sig wallet easily.

By this footstep, I dare you to become a game-changer for future partners coming to TON.

Context

Where we are

Nowadays, we already have the following:

What do we need

image

Even with these 2 tools, it's still pretty hard to understand why we need so many files, especially for everyone who comes to TON and is scared by the power of the Fift language.

That's why we should rewrite all the tools from Fift to the TypeScript language. This will allow more automation with ton.js SDK.

Goals

  • Make a multi-sig wallet an essential instrument for every community at TON

Deliverables

  • Rewrite to TypeScript every .fif file in "Standard multi-signature wallet smart contract"
  • Add a documentation README file with examples of how to use such scripts
  • Add support for the ton.js SDK to improve future integration to the DApps

Definition of Done

  • Every .fif file covered by TypeScript analog
  • Project is covered with tests
  • README file which covers every file with relevant example
  • Added support of multi-sig wallets to the ton.js SDK
  • Special category in TON Documentation for Multisig Documentation in the "Participate" section

Reward

  • Standard TON Footstep NFT
  • 3000 USD in TON equivalent

Total: $3000

I suggest an additional deliverable: make multisig wallet recognizable by explorers like tonscan.org.
For example, I think TON Ecosystem Reserve (EQAhE3sLxHZpsyZ_HecMuwzvXHKLjYx4kEUehhOy2JmCcHCT) is multisig but I can't be sure because tonscan.org marks contract type as unknown.

I guess it would be much greater if we rewrite this .fift scripts to TypeScript and add support for Multisig contract to ton js lib - https://github.com/ton-community/ton

commented

I guess it would be much greater if we rewrite this .fift scripts to TypeScript and add support for Multisig contract to ton js lib - https://github.com/ton-community/ton

I like that idea!

commented

I guess it would be much greater if we rewrite this .fift scripts to TypeScript and add support for Multisig contract to ton js lib - https://github.com/ton-community/ton

Added new lines about TypeScript, ton.js SDK integration

commented

I suggest an additional deliverable: make multisig wallet recognizable by explorers like tonscan.org. For example, I think TON Ecosystem Reserve (EQAhE3sLxHZpsyZ_HecMuwzvXHKLjYx4kEUehhOy2JmCcHCT) is multisig but I can't be sure because tonscan.org marks contract type as unknown.

Yes, it's a good idea, but as we can't change tonscan, tonwhales, etc, explorers sources, it's better to move this task out of this scope.

I guess it would be much greater if we rewrite this .fift scripts to TypeScript and add support for Multisig contract to ton js lib - https://github.com/ton-community/ton

Added new lines about TypeScript, ton.js SDK integration

Great!
LGTM then

Is this task still relevant? If yes, I with @Gusarich can do it. And what about the reward?

With gusarich we thought about time and decided that we can complete this in 40hrs for 50$/h. To cover all contingencies we add 20 more hours. It results 3000 usd for this issue. Is this ok?

@Naltox , what do you think?

We are working on this Footstep in the https://github.com/puppycats/multisig repository

Most of the code is done, we'll cover it with tests and docs soon

Project is covered with tests now.
We'll update README with examples of "real" usage soon and then integrate in ton.js.

We just created a PR to ton.js:

PR was just merged!
It remains only to add information to the documentation

The last milestone is completed!
Guide in docs is available here:

We'll create the PR for this footstep now.