Зачем в некоторых примеров краудсейл контрактов пишут что то вроде ERC20 token = new MyToken(), ведь таким образом владельцем токена становится краудсейл контракт, и ты теряешь всякую возможность управления контрактом токена, разве не правильней передавать в конструктор краудсейл контракта адрес токена и уже его там использовать?
Если токен mintable, то контракт crowdsale должен иметь права на выпуск токенов. Обычно, после завершения текущего раунда происходит вызов transferOwnership наадрес организаторов
А если в данной ситуации для того чтобы контракт мог управлять эмиссией или отправкой просто сделать approve[owner][контракт] = initialSupply а из контракта вызывать transferFrom(owner, нужное количество) или mintFrom(owner, нужное количество)?