Задание 2 к курсу "Разработчик криптографических протоколов и децентрализованных систем" Технопарка
просмотреть код контрактов заданного преподавателем проекта, найти место, реализующее определенную логику и привести diff, изменяющий поведение смарт-контракта:
MultiSigWallet.sol
- сделать, чтобы с баланса multisig-контракта за одну транзакцию не могло бы уйти больше, чем 66 ETHERC20.sol
- сделать, чтобы токен не мог быть transferred по субботамDividendToken.sol
- сделать чтобы платеж в ETH принимался только специальной функцией, принимающей помимо ETH еще комментарий к платежу (bytes[32]). Простая отправка ETH в контракт запрещена
Делайте форк репозитария. Изменяйте код. Плюсом будет, если разберетесь, как дублировать репу, сделав ее приватной, а не публичный форк.
git clone --bare https://github.com/mixbytes/technopark-task-2.git
cd technopark-task-2.git/
- В гитхабе создайте новый приватный репозитарий и скопируйте его ссылку.
git push --mirror <ссылка на новую репу>
- Старый репозитарий можно удалить:
cd .. && rm -rf technopark-task-2.git/
- Склонируйте свою новую репу:
git clone <ссылка на новую репу>
cd <новая репа>
После этих шагов получайте diff 2-м способом.
- Изменяйте код и до коммита выполните
git diff
, чтобы достать все изменения файлов. - После коммитов можно получить все различия с форка и оригинальной репы следующим образом:
git remote add original https://github.com/mixbytes/technopark-task-2.git
git fetch original
git diff HEAD original/main
Копируйте всю выдачу консоли, отправляйте в задание на портале.