# Для Джейдилдо ### Необходимо: Передавать сообщение от А к Б Где А и Б это клиенты с соединением #### Каждое сообщение - может быть либо 1) Новый стейт 2) Подпись 3) Предложение вывести 4) Просьба создать пустой стейт #### Стейт Состоит из 1) Подпись А 2) Подпись Б 3) (два числа uint64) 4) Шаг (uint64) #### Пример сообщения (Новый стейт) **ДАНО:** Стейт { Подпись А = есть Подпись B = есть Балансы (А,B) = (100, 50) Шаг = 0 } По балансам нужно сразу понимать, чей А, а чей B Так что это готовься, что он будет меняться в структуре **Действие:** 1) А меняет данный стейт: **Новый** Стейт { Подпись А = есть Подпись B = **нужно запросить** Балансы (А,B) = (90, 60) // А перевел B 10 условных единиц у.е далее Шаг = 1 // Шаг новый сделал А } 2) А отправляет **Новый** Стейт B с запросом (Новый стейт) 3) B должен получить стейт, проверить его, сделать подпись B и передать А с сообщением (Подпись) ТО, что должен получить А **Новый** Стейт { Подпись А = есть Подпись B = есть Балансы (А,B) = (90, 60) Шаг = 1 } 4) Далее А ждет сообщения от В с информацией о новом стейте или может запросить пустой стейт ### Что должно быть в консоле Мой баланс Инфа о том, моя ли очередь или нет Возможность сделать перевод или сделать запрос, чтобы его сделать Если приходит сообщение - то нужно его подписать (должна быть операция подписать) ### Подпись Нужно использовать TON совместимую кривую для этого Тут нужен Кирилл Пока можешь просто сделать функцию, которая возвращает один и тот же результат в bytes[]