Merge pull request #212 from misteraverin/feature/destructible
Add destroy function, allowing send funds to recepient.
This commit is contained in:
@ -12,4 +12,8 @@ contract Destructible is Ownable {
|
|||||||
function destroy() onlyOwner {
|
function destroy() onlyOwner {
|
||||||
selfdestruct(owner);
|
selfdestruct(owner);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function destroyAndSend(address _recipient) onlyOwner {
|
||||||
|
selfdestruct(_recipient);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,4 +8,9 @@ Inherits from contract Ownable.
|
|||||||
destroy( ) onlyOwner
|
destroy( ) onlyOwner
|
||||||
"""""""""""""""""""
|
"""""""""""""""""""
|
||||||
|
|
||||||
Destroys the contract and sends funds back to the owner.
|
Destroys the contract and sends funds back to the owner.
|
||||||
|
|
||||||
|
destroyAndSend(address _recipient) onlyOwner
|
||||||
|
"""""""""""""""""""
|
||||||
|
|
||||||
|
Destroys the contract and sends funds back to the _recepient.
|
||||||
@ -11,8 +11,16 @@ contract('Destructible', function(accounts) {
|
|||||||
let initBalance = web3.eth.getBalance(owner);
|
let initBalance = web3.eth.getBalance(owner);
|
||||||
await destructible.destroy({from: owner});
|
await destructible.destroy({from: owner});
|
||||||
let newBalance = web3.eth.getBalance(owner);
|
let newBalance = web3.eth.getBalance(owner);
|
||||||
|
|
||||||
assert.isTrue(newBalance > initBalance);
|
assert.isTrue(newBalance > initBalance);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should send balance to recepient after destruction', async function() {
|
||||||
|
let destructible = await Destructible.new({from: accounts[0], value: web3.toWei('10','ether')});
|
||||||
|
let owner = await destructible.owner();
|
||||||
|
let initBalance = web3.eth.getBalance(accounts[1]);
|
||||||
|
await destructible.destroyAndSend(accounts[1], {from: owner} );
|
||||||
|
let newBalance = web3.eth.getBalance(accounts[1]);
|
||||||
|
assert.isTrue(newBalance.greaterThan(initBalance));
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user