Merge pull request #364 from frangio/remove-crowdsale-finish-minting
Remove token.finishMinting() from default finalization
This commit is contained in:
@ -16,8 +16,10 @@ contract FinalizableCrowdsale is Crowdsale, Ownable {
|
|||||||
|
|
||||||
event Finalized();
|
event Finalized();
|
||||||
|
|
||||||
// should be called after crowdsale ends, to do
|
/**
|
||||||
// some extra finalization work
|
* @dev Must be called after crowdsale ends, to do some extra finalization
|
||||||
|
* work. Calls the contract's finalization function.
|
||||||
|
*/
|
||||||
function finalize() onlyOwner {
|
function finalize() onlyOwner {
|
||||||
require(!isFinalized);
|
require(!isFinalized);
|
||||||
require(hasEnded());
|
require(hasEnded());
|
||||||
@ -28,12 +30,11 @@ contract FinalizableCrowdsale is Crowdsale, Ownable {
|
|||||||
isFinalized = true;
|
isFinalized = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// end token minting on finalization
|
/**
|
||||||
// override this with custom logic if needed
|
* @dev Can be overriden to add finalization logic. The overriding function
|
||||||
|
* should call super.finalization() to ensure the chain of finalization is
|
||||||
|
* executed entirely.
|
||||||
|
*/
|
||||||
function finalization() internal {
|
function finalization() internal {
|
||||||
token.finishMinting();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -60,11 +60,4 @@ contract('FinalizableCrowdsale', function ([_, owner, wallet, thirdparty]) {
|
|||||||
should.exist(event)
|
should.exist(event)
|
||||||
})
|
})
|
||||||
|
|
||||||
it('finishes minting of token', async function () {
|
|
||||||
await increaseTimeTo(this.afterEndTime)
|
|
||||||
await this.crowdsale.finalize({from: owner})
|
|
||||||
const finished = await this.token.mintingFinished()
|
|
||||||
finished.should.equal(true)
|
|
||||||
})
|
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const assertJump = require('./helpers/assertJump');
|
import expectThrow from './helpers/expectThrow';
|
||||||
var MintableToken = artifacts.require('../contracts/Tokens/MintableToken.sol');
|
var MintableToken = artifacts.require('../contracts/Tokens/MintableToken.sol');
|
||||||
|
|
||||||
contract('Mintable', function(accounts) {
|
contract('Mintable', function(accounts) {
|
||||||
@ -37,4 +37,10 @@ contract('Mintable', function(accounts) {
|
|||||||
assert(totalSupply, 100);
|
assert(totalSupply, 100);
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('should fail to mint after call to finishMinting', async function () {
|
||||||
|
await token.finishMinting();
|
||||||
|
assert.equal(await token.mintingFinished(), true);
|
||||||
|
await expectThrow(token.mint(accounts[0], 100));
|
||||||
|
})
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user