Skip to content
This repository has been archived by the owner on Sep 5, 2022. It is now read-only.

Contest: FunC plugin for popular IDE #39

Open
tolya-yanot opened this issue Oct 15, 2021 · 22 comments
Open

Contest: FunC plugin for popular IDE #39

tolya-yanot opened this issue Oct 15, 2021 · 22 comments
Labels

Comments

@tolya-yanot
Copy link
Member

tolya-yanot commented Oct 15, 2021

Contest: FunC plugin for popular IDE.

Prize fund: 10000 TON.

Deadline: 13:00 on Oct, 29 (Dubai Time).

Task: FunC is a programming language for developing smart contracts in TON.

We ask you to develop a plugin for one of the popular IDE (Intellij IDEA, Visual Studio Code in priority) that helps development on FunC - code highlighting, error highlighting, autocomplete, etc.
The more useful functionality you implement correctly, the closer you are to the first place. For non-trivial functionality, an additional bonus to the prize pool is possible.

You might find the FunC documentation, standard smart contracts *.fc code, and the FunC compiler source code useful.

Who can take part: Anyone.

How do I submit: Please comment this issue on the GitHub by attaching an archive or link to the open source code with a solution, a description of the functionality, a description of the installation, your TON address to receive an award.

To avoid plagiarism, you can attach a link to a private repo to the submission, which you will make public after the deadline.

@Lilmars1989
Copy link

Yes

@clicman
Copy link

clicman commented Oct 22, 2021

Interesting, but bad time for contest. Could create it on November holidays.

@leonid-qw
Copy link

#35

@undrfined
Copy link

undrfined commented Oct 29, 2021

https://github.com/undrfined/func-lsp

EQCEU2c1HzLz5kZUfRbAoK9h4NP8sVyOaP_MRNte2bG4JYJ3

nothing is ready, there's only a basic highlighting of function declaration (and it's not working properly anyway)

Installation: clone, open in vscode, hit run, open .fc files

I agree with @clicmain, that's a really bad timing for contest. And it should've probably lasted for 3 weeks, since quality grammars for syntax highlighting take quite some time for creating, not mentioning other features like error highlighting and docs on hover. Anyway, thanks for the fun!

@savva425
Copy link

savva425 commented Oct 29, 2021

Syntax highlighting is ready, highlighting errors on ')'. Highlighting functions from stdlib.fc. Autocompletion. Documentation highlighting is ready(documentation prepared for data types, functions and methods from stlib). To access the documentation, select the function or data type you need and press "f2".

Installation: clone the repository, unzip, move the folder to "C:\Users\youruser\AppData\Roaming\Sublime Text 3\Packages" or open sublime text "Preference" => Browse Packages

https://github.com/savva425/func_plugin_sublimetext3

0:3aa208c52e9f1cc700c90b007061e42c6afa9246276d8663e332046a040aad98

For communication - mobkon1070@gmail.com

@savva425
Copy link

Hi, how soon will the results be known?

@tolya-yanot
Copy link
Member Author

tolya-yanot commented Nov 9, 2021

2 submissions

@undrfined

  1. Installation - missing npm install in install note. It's a compilation from source, how install it in ordinary VS Code as a plugin?

  2. Syntax highlighting - basic highlighting only of comments and function declaration

It is not usable at the moment, but the choice of LSP is promising - if finished, it will work on almost all types of editors and IDEs.

@savva425

  1. Installation - OK, no problem with Sublime Text

  2. Syntax highlighting - OK

  3. stdlib.fc highlighting - OK, but it would be better to do this not by hardcode, but by analyzing other files in the project folder

  4. Autocompletion - OK to start

  5. Open quote/bracket error highlighting - only works in the body of a function. Does not work in function signature.

  6. Documentation - don’t work on MacOS, but the plugin code contains documentation for data types, functions and methods from stlib

It's quite usable right now.

Results

🥇 1st place - @savva425 - 5000 TON

🎖 Bonus reward - @undrfined - 500 TON

We hope that you will continue to improve your work. This would be a really useful contribution to TON.

@savva425
Copy link

savva425 commented Nov 9, 2021

Hi, thank you very much, it was very interesting. And how soon should the reward come?

@leonid-qw
Copy link

Ok

@tolya-yanot
Copy link
Member Author

tolya-yanot commented Nov 9, 2021

@savva425
Copy link

savva425 commented Nov 9, 2021 via email

@tolya-yanot
Copy link
Member Author

tolya-yanot commented Nov 9, 2021

Sorry, I provided you with the wrong wallet, apparently https://web.ton.surf/ and https://tonwallet.me/ these are completely different things, am I right?

Yes, tonsurf is a wallet of a completely different network.

It use other smart-contracts for wallets. But in theory, you can access this account on TON network, because you have a private key.

To do this, you need to use the freeton tools (cli) but with the config of TON network.

When you have done this, please open source the solution 😅

@savva425
Copy link

savva425 commented Nov 9, 2021

Sorry, I didn't quite understand what I need to do, please describe in more detail :) I also cannot understand how it is possible to transfer coins to a wallet that is not in this network. It turns out that he created such a wallet and transferred coins to it?

@savva425
Copy link

I think I won't be able to do this, because I need the seed phrase anyway. But I got a purse TON EQCpz8S2OdPUbILtRVtkZZaTKIOwRRtmWfkfmH6YS0tRljOP . I'll try again tomorrow, but I think it won't work:(

@Ahmadmahh
Copy link

#40

@RocketJannis
Copy link

RocketJannis commented Nov 13, 2021

Hi nice people, I just found out about the contest. I'm a bit late to the party but if you wish, I'd like to write a FunC support plugin for the IntelliJ platform @tolya-yanot

@akifoq
Copy link

akifoq commented Nov 13, 2021

By the way, I have made FunC (context free) grammar in tree-sitter framework this summer, so you can try to use it for making a plugin (e.g. in Atom).

@jemeraldo
Copy link

jemeraldo commented Nov 16, 2021

I think I won't be able to do this, because I need the seed phrase anyway. But I got a purse TON EQCpz8S2OdPUbILtRVtkZZaTKIOwRRtmWfkfmH6YS0tRljOP . I'll try again tomorrow, but I think it won't work:(

As i know, Free TON (now Everscale) and TON are both descendants of Telegram Open Network and should have same key-pair format. So you can get your private key in web.ton.surf wallet settings and somehow import it to TON wallet.

@savva425
Copy link

I think I won't be able to do this, because I need the seed phrase anyway. But I got a purse TON EQCpz8S2OdPUbILtRVtkZZaTKIOwRRtmWfkfmH6YS0tRljOP . I'll try again tomorrow, but I think it won't work:(

As i know, Free TON (now Everscale) and TON are both descendants of Telegram Open Network and should have same key-pair format. So you can get your private key in web.ton.surf wallet settings and somehow import it to TON wallet.

Yes, you're right, but I can't do it without seed phrases that differ in the two networks

@jemeraldo
Copy link

I may be wrong, but technically, the private key is a hash from the seed phrase. Thus, if you have a private key, this is enough to manage your wallet on the TON network. You just need to implement the code to import it into some TON wallet.

I think I won't be able to do this, because I need the seed phrase anyway. But I got a purse TON EQCpz8S2OdPUbILtRVtkZZaTKIOwRRtmWfkfmH6YS0tRljOP . I'll try again tomorrow, but I think it won't work:(

As i know, Free TON (now Everscale) and TON are both descendants of Telegram Open Network and should have same key-pair format. So you can get your private key in web.ton.surf wallet settings and somehow import it to TON wallet.

Yes, you're right, but I can't do it without seed phrases that differ in the two networks

@tolya-yanot
Copy link
Member Author

Sorry, I didn't quite understand what I need to do, please describe in more detail :) I also cannot understand how it is possible to transfer coins to a wallet that is not in this network. It turns out that he created such a wallet and transferred coins to it?

@Custler has made a working restore script for such cases https://github.com/Custler/tc_Rescue

You can recover coins with this

@savva425
Copy link

savva425 commented Dec 7, 2021

Thank you very much, everything worked out.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

10 participants