Разработка IDE плагинов
Что необходимо:
1) Подсветка синтаксиса.
Где сейчас проблемы с этим:
- Любые tvm функции (accept, hash, rawReserve, setcode, buildStateINit, setCurrentCode, resetStorage, functionId, pubkey и т д)
- Типы TvmCell, TvmSlice, TvmBuilder
- Ключевое слово static для поле initData
- Модификаторы методов virtual, inline, functionID, override
- флаги сообщений
- AbiHeader
- Параметры msg (pubkey, data и т д)
- Fallback, receive, onBounce
- Сборка initData
2) Быстрый переход (ctrl+клик):
- При нажатии на имя метода/поля объявленного в контракте - переход к ней внутри контракта или на уровень того контракта в иерархии, где она реализована
- При нажатии на override переход на ближайший контракт родитель или на интерфейс в котором этот метода определен
- При нажатии на имя метода вызываемой у другого контракта/интерфейса переход к ним
- При нажатии на поля/методы из библиотек переход к ним
3) Автодополнение
- Доступных методов (ctrl + space)
- Параметров метода (ctrl + P)
4) Корректные автоимпорты (Alt+Enter)
5) Find usages (Alt + F7)
6) Warning-подчеркивания (возможно это на уровне компилятора некоторое из этого должно быть):
- unused параметры
- некорректные view/pure/override
- некорректный return
- перекрытие видимости переменных
- вызов методов вне зоны видимости
- pure в методе в котором нет tvm.accept но при этом идет отправка сообщений
- опущен pragma expire и при этом есть tvm.accept с проверкой по ключу
- опущен pragma pubkey и при этом есть msg.pubkey
- вызов virtual функций, не определенных в контракте абстрактном текущем
- отсутствие имплементации методов
- несколько rawReserve в рамках 1го вызова
- tvm.accept перед require
- отсутствии флагов у return в responsible
- bounce: true в responsible + onBounce в контракте
- ошибки и предупреждения компилятора всячиские, не описанные выше (если это реализовано будет через эмуляцию компиляции)
7) Показ дефолтных флагов, опущенных в сообщениях:
value, flag, bounce
Возможно тут стоит тоже запрет на уровне компилятора опускать флаги.
8) Автоматическое корректное форматирование кода по code style настроенному + упорядочивание импортов (Alt+Ctrl+L)
Хотя бы отступы, чтобы корректно делались.
9) Возможность запуска сборки контрактов / locklift скриптов и тестов прямо из IDE
- отсутствие имплементации компилятор выдает.
- unused параметры
- базовые требования
Более подробно с исполнителем!
Актуальные фриланс-проекты в категории Десктопные приложения
Модификация в работе эмулятора
2000 UAH
Здравствуйте. Я скачал с Интернета эмулятор игрового автомата gaminator cf final. Он мне очень понравился, но там есть недочёты. Есть админ панель, но она открывается свободно, но не закрывается вообще. Закрывается только вместе с приложением. А данные, после изменения в админ… Десктопные приложения ∙ 4 дня 13 часов назад ∙ 10 ставок |
Разработка кастомного ПО (Android-приложения + CMS) для киосков самообслуживания SUNMI K2 (Фастфуд)
1000 UAH
Ищем опытную команду или Middle/Senior Android-разработчика (возможно, с Full-stack навыками) для создания собственного программного обеспечения для киосков самообслуживания сети заведений быстрого питания. Сейчас наши терминалы работают на базе готового облачного интегратора,… CMS, Десктопные приложения ∙ 9 дней 9 часов назад ∙ 23 ставки |