You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* @dev Transactions are executed by the Timelock contract
223
229
* @dev Values sent to the contracts are sent by the Timelock contract
224
230
*/
231
+
//@audit vlad. почему это payable?
225
232
function execute(uint256proposalId) externalpayable {
226
233
if (state(proposalId) != ProposalState.Queued) {
227
234
revertGovernor__ProposalIsNotQueued();
@@ -300,8 +307,13 @@ contract Governor is EIP712 {
300
307
* @dev Maybe add address voter to Ballot struct and check if signer == voter
301
308
*/
302
309
function castVoteBySig(uint256proposalId, boolsupport, uint8v, bytes32r, bytes32s) external {
310
+
//@audit vlad. Не, шанс коллизии слишком маленький. Из-за парадокса дней рождений шанс 1 коллизии 50% за 2^80 попыток
311
+
// По фану можешь посмотреть с какой скоростью твой ноут печатает числа в цикле
312
+
// При этом коллизия любых адресов, а делегаты 1 токена это супер мало адресов. Потом скину дискуссию по этому поводу (сейчас инета нету)
303
313
// any checks at all? can it cast a random persons vote in case of random signature spam? sounds like i am not really understading something, missing out
304
-
// возможно ли в теории наспамить в эту функицю кучу подписей, с идеей что хоть одна попадется, в который я угадаю параметры proposalId и support и при этом signer это участник DAO и он делегировал токены, чтобы его голос засчитался? трудно наверно но мозг мой вот так подумал
314
+
// возможно ли в теории наспамить в эту функицю кучу подписей, с идеей что хоть одна попадется,
315
+
// в который я угадаю параметры proposalId и support и при этом signer это участник DAO и он делегировал токены,
316
+
//чтобы его голос засчитался? трудно наверно но мозг мой вот так подумал
305
317
// add address voter to the signature and the check signer == voter?
0 commit comments