Contest proposal: Free TON wallet as a Chrome extension

Hello dear FreeTON Community members!
we’re extremely happy to present you our TonWallet :partying_face:
Hope you enjoy the results of our long patient work
Created with deep passion)
Added our submission in pdf!
Feel Free to contact us here on Forum or through the telegram!)
we’re opened for any discussions on the project :wink:

Link to the product: https://tonwallet.io
Link to our submission: #18

Thanks for your consideration)

3 Likes

Dear community,

I’m really fascinated to see such activity at this contest. The more applications, the better the result!

I would also like to present to you the fruit of our hard work - the Crystal Wallet Chrome extension.

Abstract

Crystal Wallet is well-known to all community members of FreeTON. The Broxus team has remastered it from scratch and is proud to present it to you in the form of a browser extension.

You don’t need to have any technical knowledge to use Crystal Wallet - just install it from the Chrome Store and let it guide you.

Key features

For users

Crystal Wallet is a Google Chrome extension that lets you manage your seed phrases, private and public keys, and wallets securely without leaving your favorite browser.

Import existing keys or create new ones; choose popular wallet contracts to use and deploy them at the convenient moment; accept and send transactions with memos or encoded payload; add and remove tokens; manage permissions you provide to dApps (DEXes, bridges, multisig wallets, etc.); protect your data with encrypted local key storage.

For dApps

Crystal Wallet injects the Free TON API into every website’s DOM context so that the distributed applications can read from the blockchain and interact with smart contracts. Be it a decentralized exchange, browser game, cross-chain bridge, or multi-signature wallet; Crystal Wallet will serve you as a lightweight, configurable, and reliable Free TON client.

Privacy and permissions

The extension does not and will not collect any data from you.

However, it will require your permission to read and write to any webpage, as it enhances the functionality of the standard browser context. You can always view the source code of Crystal Wallet on Github.

Extension architecture

Wallet core

It is powerful yet elegant:

  • Transport is used to interact with the blockchain through GraphQL (default method) or ADNL;
  • Keystore contains encrypted data and keys generation methods;
  • Storage keeps data caches;
  • TON and token wallets wrap methods for working with different asset types.

Extension UI

This is what a user sees. It contains the popup window and browser notifications you receive once Crystal Wallet finds any incoming or outgoing transaction.

WEB3

The most interesting and complex part of the wallet allows various dApps to interact with FreeTON directly from the browser.

The extension injects a content script into the page, which interacts with the background script through the inpage one.

Supported wallet contracts

  • Wallet V3 (legacy) - to let users of the old version of Crystal Wallet quickly move to the new one.
  • SafeMultisig
  • SafeMultisig24
  • SetCodeMultisig
  • Surf

User flows

Create a new account

  1. User selects “Create a new wallet”

  1. Signs the Decentralization policy

  1. Selects the wallet type from one of the popular contracts

  1. Saves the seed phrase securely

  1. Confirms they saved it correctly

  1. Sets the password to encrypt the local storage

  1. Voila! The wallet is ready to accept funds.

The user may use this wallet already to accept funds or sign transactions with its key. However, once they decide to withdraw funds, they will need to first deploy the wallet contract by pressing the “Deploy” button.

Restoring the wallet

  1. User selects “Sign in with seed phrase”

  1. Signs the Decentralization policy

  1. Selects the type of the wallet

  1. Inputs the seed phrase

  1. Sets the password to encrypt the local storage

  1. Voila! The wallet is ready to accept funds.

Adding new assets

  1. User clicks “Select assets”

  1. Selects assets of their choice

  1. That’s it! Assets are shown in the wallet.

Links

Sources

Build manual

Chrome store

Contact information

Telegram: Telegram: Contact @broxus_chat

Email: [email protected]

Wallet: 0:3f5bf06393c69462d0488f658d28be6062b66d8d7986da743286ad01837e517c

3 Likes

My Submission

Contact

Telegram: @Rohitr45

2 Likes

Hi. Can participants make improvements during voting period?

I think that it won’t be honestly.
But if it’s not in the regulations document, from the legal point of view, you can improve.
Our team will create a new branch for all improvements and then merge to the main branch after this contest.
Just it is our personal opinion. Need to wait for responses of other participants.

2 Likes

All changes after the competition are made in a separate branch

I did participate for ‘Free TON wallet as a Chrome extension’ contest. When I did my submission, my extension was on review ( I did mention that in the PDF). Now it has been published. Jurors, please make a note of it.

Submission 21

Большенство работ предоставленые на конкруесе, выглядят как будто самапальные проекты для здачи экзаменов.
Не думаю чо после конкрусна их будут дорабатывать.

Лично я считаю что надо делать связь между метомаск и Keplr.
Эти предоставленные конкурсные ноунейм расширения врядле кто то захочет скачивать.
Особенно пока они выглядят как самопал, я бы таким проектом не доверил свои монеты, они обнову пропишут в расширении и деньги в миг улетят им на кошелек.

Дизайн Tonex http://figma.com/file/l7T0tE97jK66GohwgFzbmm/Tonex мне нравиться, но доверие к ним пока нету.
Еще мне не нравиться что у них логотип Tesla.

MegaTon тоже ничего, как не странно но почему то к нему больше доверие, может быть так влияет жолтый и оранжевый цвет и то что он выглядит как кошелек для разработчиков, не знаю даже.

1 Like

About trustless solutions. Any solution will earn the own reputation as possible. Anyone can learn open sources, build their own extension and install manually, no proprietary code, etc.
Also, about other contestants. All spend many hours to create own solutions, it is abnormal to judge by logo side, etc. Anyone can learn sources and build their own extension. Many teams implemented the build system. In any case, all solutions will compete not here, but on the market, and the only users will the main judges.
If you like solid “brands”, like a Broxus, that use their solution. But many features from other solutions are absent in the crystal wallet.
In the end, any user will vote not by the own assets, people will select by stability, quick work, and features set.
IMHO: about Metamask, it is not a good solution, because only npm packages demand around 1.7Gb. If you worry about malicious code, that you don’t need to trust this solution. They are trying to solve this issue (with potential vulnerable external packages), by auditing by safe environment (GitHub - LavaMoat/LavaMoat: tools for sandboxing your dependency graph). All this because they have big code and big package dependencies graph.

One more personal moment - our team will be implemented a zero dependencies wallet in the next version. In the next step, users will be able to create multisign wallets (version with custodian) that can be activated with signatures from several devices. It will allow avoiding any suspicious about our team. Because then need to add bad code to many sources. Also, the user will be able to run the app to sign transactions in a safe environment, to get signed transactions, but run it on the blockchain directly to run the important transactions. Safety - the most important moment. Also, the user can install the not upgradable version from the sources or pre-build version.

Привет, а что с нашим дизайном не так ? Ведь он не включен в твой список понравившихся ?
PDF:
https://drive.google.com/file/d/1L2MaHxVcRl91hck-xSWIk8dPUuUZ6kgr/view

Chrome:

Спасибо, за отзыв про мегатон.
Думаю буду продолжать, есть идеи добавить возможность загрузить любые контракты для продвинутых пользователей.
Ну разные языки и мелкие фикси само собой…

We have created the new thread in TON Improvement Proposals (TIP) category to discuss TIP-32 - TON provider javascript API
Please participate in discussion, together we will be able to reach more results.

It looks like your submission didn’t meet the next formal requirement:

  • Name and contact information of the contestant for communication (Telegram username, e-mail)

It could be a reason for reject.Could you specify your telegram at least here, please, so we can contact you?

Обещаем завоевать доверие :slight_smile:. Сделаем инструкцию как проверить соответствие кода на GitHub и выгруженного в сторы приложения. Спасибо за отзыв по дизайну, по логотипу может еще подумаем)
Скоро запустим сайт с дополнительной информацией.

1 Like

Hello. It looks like your submission didn’t meet the next formal requirement:

  • Name and contact information of the contestant for communication (Telegram username, e-mail)

It could be a reason for reject.Could you specify your telegram at least here, please, so we can contact you?
Thank you!

Hello. It looks like your submission didn’t meet the next formal requirement:

  • Name and contact information of the contestant for communication (Telegram username, e-mail)

It could be a reason for reject.Could you specify your telegram at least here, please, so we can contact you?
Thank you!

Hi,

Sure

Telegram: @arsenmkrt - Telegram: Contact @arsenmkrt
Email: [email protected]

Any questions, or suggestions feel free to contact

Regards,
Arsen

2 Likes

Hello,

Our telegram group is Telegram: Contact @orgfreetonwallet
Our incoming email is [email protected]

Or my personal one @theanurin / [email protected]

Thank you!

1 Like

Hello. Sure. We have it displayed in the application. I can duplicate here:

Contact information
Surf: 0:714d58bfe28499c989fd8eda43e6368c0d3e908e21df690c46bfbd5c02855985
Email: [email protected]
Forum: Profile - tonsoft - Free TON