In ERC20 EOS crowdsale contract, what these three lines(469-471) does?
function initialize(DSToken eos) auth {
assert(address(EOS) == address(0)); //[Someone explained this line here][2]
assert(eos.owner() == address(this));
assert(eos.authority() == DSAuthority(0));
When I compile and push the contract on Remix, it works fine. But, no token minted. On debugging, I figured that the initialize() must be called to mint tokens. But, when I execute initialize() with the same contract address as parameter as the crowdsale contract it shows 'Error: Invalid upcode" on second line(line 470). What am I doing wrong here?
I also noticed there is no method called owner() and authority() inside DSToken contract which is passed as argument to EOSSale contract. Then how the contract compiles and run without any error until initialize.