

Контекст
Существует тип инструментов для отправки токенов нескольким получателям одной транзакцией. Заказчик хотел сделать свой аналог.
classic.multisender.app
disperse.app
Управление подобными инструментами сводится к редактированию примитивного списка строк. Каждая строка содержит адрес получателя и сумму в формате:
адрес,сумма
0xC8c30Fa803833dD1Fd6DBCDd91Ed0b301EFf87cF,13.45
В своей реализации я сделал упор на табличный подход, который значительно уменьшает количество ошибок при добавлении, удалении строк, расширяет функционал управления списком и в целом ускоряет работу с рассылками.

Срок на реализацию проекта: 2 недели.
Реализация
Классический строчный вид
Табличный вид
В финальном приложении:
1.
Есть три разных режима рассылки:
Disperser — один отправитель, много получателей
Magnet — много отправителей, один получатель, по сути, сбор токенов с адресов
Massdrop — как Disperser, но газ (комиссию за транзакцию) оплачивают получатели
2.
Есть параметр Amount cap, который позволяет ограничить максимальный объем средств для рассылки (чтобы случайно не отправить больше, чем планировал).
3.
Поддерживается обычный режим редактирования строк текстом.
4.
Поддерживается табличный режим Friendly view:
Демонстрация прототипа