Твердость openzeppelin рассчитанный по времени / ограниченный краудсейл возвращаясь понятия не имею, почему
Я изучаю основательность и пишу контракты, используя фреймворк openzeppelin.
Мне удалось получить простой краудсейл из белого списка, написать, перенести и пройти тесты, однако, как только я добавляю сложность, я получаю откаты во время моих тестов, которые я изо всех сил пытаюсь отладить. Для скорости и легкости я поместил здесь свой код. Там есть три краудсейла:
- Белый список - это работает, испытания проходят
- TimedCrowdsale - переносится, но тесты не пройдены. Я пытаюсь подтвердить, что startDate в прошлом, и что я могу заключить сделку (то есть краудсейл открыт).
- PracticalCrowdsale - я пытаюсь объединить несколько типов: белый, ограниченный, рассчитанный по времени и подлежащий возврату. Он хорошо мигрирует, но не может совершать сделки, и я не могу понять, почему. В тестах я установил start, end, cap и soft cap, но безрезультатно, и сообщения об ошибках Solidity действительно трудно отлаживать.
В любом случае, любой, у кого больше опыта, кто, возможно, мог бы оставить некоторые комментарии к моему коду на GitHub, или здесь, я не против, просто кое-что, чтобы помочь начать с этого. Спасибо