Ton

Форк
0
22 строки · 694.0 Байт
1
int check_signatures(msg_hash, signatures, signers, bitmask_size) impure {
2
  var bitmask = 0;
3
  var id = -1;
4
  do {
5
    (id, var signature, var f) = signatures.udict_get_next?(32, id);
6
    if (f){
7
      var sig = signature.preload_bits(512);
8
      var public_key = -1;
9
      do {
10
        (public_key, var cs, var _found) = signers.udict_get_next?(256, public_key);
11
        if (_found){
12
          if (check_signature(msg_hash, sig, public_key)){
13
            var signer_index = cs~load_uint(bitmask_size);
14
                    bitmask = bitmask | (1 << (signer_index - 1));  
15
          } 
16
        }
17
      } until (~ _found);
18
      ;; signature~touch(); 
19
    }
20
  } until (~ f);
21
  return bitmask;
22
}
23

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.