• Как отследить подписку на канал телеграм?

    LexxXell
    @LexxXell Автор вопроса
    Rsa97, Перепроверил.
    Для группы (чата) работает как вы сказали. Для канала (паблик) на работает.
    Проверял именно перехватывая вебхук. При подписке на групу приходит уведомление, при подписке на канал не приходит.
    Написано
  • Как отследить подписку на канал телеграм?

    LexxXell
    @LexxXell Автор вопроса
    Это, как понимаю, для чатов. Мне нужно для канала (паблик).
    Написано
  • Как в TS сделать path для всех helpers?

    LexxXell
    @LexxXell Автор вопроса
    А ты не пробовал прочитать что в ошибке написано?

    Пробовал. Не помогло, как и ваш комментарий.

    Помимо этого какой в этом практический смысл?

    Необходимо переписать часть проекта, в которую тянется много хелперов из разных директорий. Из-за специфики проекта, удобнее (мне удобнее), переписывать отдельно от другого кода, а тянуть всю структуру директорий с хелперами не хочется.. Дальше, надеюсь, понятно.
    Написано
  • Как вывести строку в консоль при обратном вызове?

    LexxXell
    @LexxXell Автор вопроса
    AUser0, благодарю. Ваш вариант с stderr все же лучший )
  • Как вывести строку в консоль при обратном вызове?

    LexxXell
    @LexxXell Автор вопроса
    Пробовал сделать с &1, не прокатило (всё же stdout отделён, как понимаю, для обратного вызова).
    Отмечу решением, хотя и считаю это костылём (буду благодарен, если опровергните моё мнение).
    Ведь &2 это stderr, т.е. обычный ответ обрабатывается в результате как ошибка, а хотелось бы "чистой" работы.
  • Имеет ли смысл такой код в solidity?

    LexxXell
    @LexxXell Автор вопроса
    Как итог, ваш второй вариант верный.
    Меня подвело то что на Remix VM переменные внутри методов, видимо, всё же тратят газ, НО в реальной сети нет.
    // SPDX-License-Identifier: MIT
    
    pragma solidity >=0.7.0 <0.9.0;
    
    contract Test0 {
      mapping(address => uint256) private _addressToBalance;
      uint8 a; // используется для того чтоб метод был не view
    
      function test() external {
        a = 0; // ничего не пишем по факту, т.к. "а" проинициализирован нулём (т.е. минимальные затраты на газ)
      }
    }
    
    contract Test1 {
      mapping(address => uint256) private _addressToBalance;
      uint8 a; // используется для того чтоб метод был не view
    
      function test() external {
        a = 0; // ничего не пишем по факту, т.к. "а" проинициализирован нулём (т.е. минимальные затраты на газ)
        uint256 balance = _addressToBalance[msg.sender];
        require(balance >= 0);
      }
    }
    
    contract Test2 {
      mapping(address => uint256) private _addressToBalance;
      uint8 a; // используется для того чтоб метод был не view
    
      function test() external {
        a = 0; // ничего не пишем по факту, т.к. "а" проинициализирован нулём (т.е. минимальные затраты на газ)
        require(_addressToBalance[msg.sender] >= 0);
      }
    }
    
    //        | Remix  VM | BSC Testnet |
    // test 0  26971 26971  24343 24343
    // test 1  29534 29534  24343 24343
    // test 2  29519 29519  24343 24343
    
    // Test0 BSCt: 0x33f153BA423ec0489f6ff5f80528D5cb100bf3ab
    // Test1 BSCt: 0x7744FFe9C35250B580eF4118d75AF2280D6c1afD
    // Test2 BSCt: 0x38e6Bc1a10aFE6fbeD413e77282F615D56761ec5


    P.s.
    И с 40 газа я ошибся, имя и расположение метода, тоже незначительно но влияет на количество газа. Для Remix VM. На реале не проверял. По факту разница вышла в 15 газа.
  • Имеет ли смысл такой код в solidity?

    LexxXell
    @LexxXell Автор вопроса
    Dr. Bacon, набирал в тегах Ethereum, и не глядя выбрал предлагаемый тэг.
  • Почему bcrypt ложно срабатывает?

    LexxXell
    @LexxXell Автор вопроса
    Хешировал только refresh токен - требование заказчика.
    В итоге только сигнатуры refresh токенов.
  • Почему bcrypt ложно срабатывает?

    LexxXell
    @LexxXell Автор вопроса
    SagePtr, спасибо. Я не один раз перечитывал док на npm но к своему стыду, видимо, каждый раз пропускал этот абзац.
  • Почему bcrypt ложно срабатывает?

    LexxXell
    @LexxXell Автор вопроса
    mayton2019, количество раундов хеширования (сложность хеширования). Для compare указывать не требуется.

    Для примера она не существенна, я указал её чисто на автомате, т.к. часто пользовался этой библиотекой для хешированя паролей. Для коротких строк (4-16 символов) эта библиотека работала без нареканий.
  • Почему bcrypt ложно срабатывает?

    LexxXell
    @LexxXell Автор вопроса
    А какие типы аргументов принимает эта функция?
    bcrypt.compareSync(...)
    Там наверное строки надо толкать

    compareSync(s: string, hash: string): boolean
    Строки я ей и скармливаю.
    Складывается впечатление, что при хешировании берется не вся строка, а только часть из начала. А у токенов начало одинаковое, т.к. одинаковый пейлоад в них.
  • Как в NestJS сделать response в snake_case?

    LexxXell
    @LexxXell Автор вопроса

    Написать свои декораторы. Также можно сделать свой ValidationPipe где выбрасывать BadRequestException со своим объектом
    логично. Я думал, что, возможно стиль наименования можно задать глобально.

    Всё же, вы занимаетесь какой-то фигнёй.
    Не совсем понял это. У меня по тз все поля в ответе должны быть в snake_case. В чем эта "фиговость" того чем я занимаюсь?
  • Как в TypeORM под MariaDB сделать поле с массивом из перечисления?

    LexxXell
    @LexxXell Автор вопроса
    Andrey Barbolin, т.е. правильный ответ MySQL не поддерживает array, а только simple-array, который может быть только строковым? Или я опять не правильно понимаю?
  • Как в TypeORM под MariaDB сделать поле с массивом из перечисления?

    LexxXell
    @LexxXell Автор вопроса
    Andrey Barbolin, ссылается на рабочие примеры TypeORM + PostgreSQL. Возможно я неправильно делаю запросы.
  • Почему не работает Exclude в NestJS?

    LexxXell
    @LexxXell Автор вопроса
    - Почему у меня не заводится машина?
    - Просто купи другую.
    А по факту бензин кончился

    Это работает но не меняет сути вопроса. Интересно именно ЧТО я делаю не так, если по документации с Sequelize сериализация работает, а в моем коде не работает.
    Скажу больше, причина понятна - поля метаданных в возвращаемом объекте. Но и это не меняет вопроса.
    ИТОГ
    Либо лыжи не едут (в доках ошибка или в NestJS+Sequelize не могут в сериализацию (бред имхо)) либо я шибанутый (накосячил в коде не поняв идею из доков).
  • Почему не работает Exclude в NestJS?

    LexxXell
    @LexxXell Автор вопроса
    Dmitriy Grape, я до этого работал на связке Python+Django (около 3 лет), сейчас решил переехать на NodeJS, и подбираю стек технологий с какими работать комфортно. В процессе как-то спонтанно решил "пощупать" NestJS + Sequelize.
  • Почему не работает Exclude в NestJS?

    LexxXell
    @LexxXell Автор вопроса
    Dmitriy Grape, вот я уже и склоняюсь к переходу на TypeORM
  • Почему не работает Exclude в NestJS?

    LexxXell
    @LexxXell Автор вопроса
    Dmitriy Grape, работает такой вариант, извиняюсь, что не упомянул об этом в вопросе. Но это же такой костыль (во всяком случае мне так кажется)..
  • Как добавить логотип токена в Метамаск?

    LexxXell
    @LexxXell Автор вопроса
    Второй предложенный вариант (в документации) работает только для коинов на базе смартконтрактов, а мне нужен именно лого для основного токена.