diff --git a/contracts/vault/VaultBase.sol b/contracts/vault/VaultBase.sol index a7f16ad..5207127 100644 --- a/contracts/vault/VaultBase.sol +++ b/contracts/vault/VaultBase.sol @@ -190,6 +190,8 @@ abstract contract VaultBase { require(lock.status() == LockStatus.Locked, LockRequired()); lock.burned = true; + + _token.safeTransfer(address(0xdead), lock.value); } function _withdraw( diff --git a/test/Vault.tests.js b/test/Vault.tests.js index b02a6ea..13dcdcb 100644 --- a/test/Vault.tests.js +++ b/test/Vault.tests.js @@ -510,6 +510,16 @@ describe("Vault", function () { await expect(await vault.getBalance(fund, account2.address)).to.equal(0) await expect(await vault.getBalance(fund, account3.address)).to.equal(0) }) + + it("moves all tokens in the fund to address 0xdead", async function () { + const dead = "0x000000000000000000000000000000000000dead" + await vault.transfer(fund, account.address, account2.address, 10) + await vault.transfer(fund, account.address, account3.address, 10) + const before = await token.balanceOf(dead) + await vault.burnAll(fund) + const after = await token.balanceOf(dead) + expect(after - before).to.equal(amount) + }) }) describe("withdrawing", function () {