Contest proposal: Free TON wallet as a Chrome extension

cryonyx, please clarify this moment, we have the hard limitation by time. Our team wants to have a some safe gap to implement all that is described in the contest proposal.

Good day everyone! Such a question, does somebody in their plugin decided the possibility of authorization on the site by the plugin? For example, I have a website and I want to authorize on it like metamask?

1 Like

ExtraTon has this feature already. Other participators of this contest will have to implement web3-like feature on 3rd stage.

No it doesn’t or show me where it is.

I have meant this https://dod.extraton.io/, But I didn’t dive deeply into implementation.

Out team have sent the own submission. We regret that some items of contest weren’t described very well. Moderator couldn’t response on private message also. But we have tried to realize the state-of-art solution. To neutralize some possible aftermath by controversial items (on our taste), we have added auto logout feature in the initial realize. It will protect the wallet when the user will be forced to leave PC urgently. The wallet will close itself by timer (5 minutes idle). This parameter can be adjusted on the “settings page”.
The separated thread for the “My TON wallet” project has been placed here

For example, tondice.com can see you balance through extraton extension and can trigger payments, which you have to confirm in extraton.

Hi! I created extension (crystalix)
This rep is dirty, but, i have not time, tomorrow i will publishing instruction for how run this extension.

3 Likes

Hi everyone! :wave:
We are a small team of professionals and we are happy to present our browser extension solution for interacting with the FreeTON blockchain — Tonex.
We will be glad to hear your feedback and recommendations about our solution!

Here are some useful links for you:

You can view our design in Figma:

Source code on GitHub:
https://github.com/TonexWallet/tonex-extension

Join to our Telegram Channel:
https://t.me/tonexwallet

Our website https://tonexwallet.com will be available as soon as possible🤞.

3 Likes

ExtraTON’s work:

3 Likes

Submission form is broken. Cannot add submission:

Mainnet and devnet are under maintenance currently as far as I know.

1 Like

We are participating in the contest. Good luck to all !

2 Likes

Hello !
We are participating too, here is our proposal

Good luck to everyone and have a nice day ! :slight_smile:

tg: Telegram: Contact @freeoberton

3 Likes

Hello!
RSquad is participating in the contest, this is our proposal

Good luck to everyone!

2 Likes

Wow) 8, 9, 10, 11, 12 - It’s all our duplicates) Sorry, i didn’t mean to)

2 Likes

We are also participating in the contest. Our entrypoint is https://docs.freeton-wallet.org/ :slight_smile:
Have a nice day!

2 Likes

Hello, Comrades! It’s cool to see so many participants.
My work is Liberton

2 Likes

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