diff --git a/contracts/interfaces/IStrategyV2.sol b/contracts/interfaces/IStrategyV2.sol index 66f8773..6ccea7e 100644 --- a/contracts/interfaces/IStrategyV2.sol +++ b/contracts/interfaces/IStrategyV2.sol @@ -22,17 +22,17 @@ interface IStrategyV2 { /// @dev Usually, indicate that claimable rewards have reasonable amount. function isReadyToHardWork() external view returns (bool); - /// @return strategyLoss Loss should be covered from Insurance + /// @return strategyLoss Loss should be checked and emited function withdrawAllToSplitter() external returns (uint strategyLoss); - /// @return strategyLoss Loss should be covered from Insurance + /// @return strategyLoss Loss should be checked and emited function withdrawToSplitter(uint amount) external returns (uint strategyLoss); /// @notice Stakes everything the strategy holds into the reward pool. /// @param amount_ Amount transferred to the strategy balance just before calling this function /// @param updateTotalAssetsBeforeInvest_ Recalculate total assets amount before depositing. /// It can be false if we know exactly, that the amount is already actual. - /// @return strategyLoss Loss should be covered from Insurance + /// @return strategyLoss Loss should be checked and emited function investAll( uint amount_, bool updateTotalAssetsBeforeInvest_ diff --git a/contracts/interfaces/ITetuVaultV2.sol b/contracts/interfaces/ITetuVaultV2.sol index 86e7d73..4cebea5 100644 --- a/contracts/interfaces/ITetuVaultV2.sol +++ b/contracts/interfaces/ITetuVaultV2.sol @@ -1,8 +1,6 @@ // SPDX-License-Identifier: MIT - pragma solidity 0.8.17; -import "./IVaultInsurance.sol"; import "./IERC20.sol"; import "./ISplitter.sol"; @@ -10,8 +8,6 @@ interface ITetuVaultV2 { function splitter() external view returns (ISplitter); - function insurance() external view returns (IVaultInsurance); - function init( address controller_, IERC20 _asset, @@ -23,6 +19,4 @@ interface ITetuVaultV2 { function setSplitter(address _splitter) external; - function initInsurance(IVaultInsurance _insurance) external; - } diff --git a/contracts/vault/TetuVaultV2.sol b/contracts/vault/TetuVaultV2.sol index 9cc314f..d3f8ab7 100644 --- a/contracts/vault/TetuVaultV2.sol +++ b/contracts/vault/TetuVaultV2.sol @@ -39,8 +39,6 @@ contract TetuVaultV2 is ERC4626Upgradeable, ControllableV3, ITetuVaultV2 { ISplitter public splitter; /// @dev Connected gauge for stakeless rewards IGauge public gauge; - /// @dev Dedicated contract for holding insurance for covering share price loss. - IVaultInsurance public override insurance; /// @dev Percent of assets that will always stay in this vault. uint public buffer; @@ -129,15 +127,6 @@ contract TetuVaultV2 is ERC4626Upgradeable, ControllableV3, ITetuVaultV2 { ); } - function initInsurance(IVaultInsurance _insurance) external override { - require(address(insurance) == address(0), "INITED"); - _requireInterface(address(_insurance), InterfaceIds.I_VAULT_INSURANCE); - - require(_insurance.vault() == address(this), "!VAULT"); - require(_insurance.asset() == address(_asset), "!ASSET"); - insurance = _insurance; - } - // ************************************************************* // GOV ACTIONS // ************************************************************* diff --git a/contracts/vault/VaultFactory.sol b/contracts/vault/VaultFactory.sol index 0ead11d..3b7792a 100644 --- a/contracts/vault/VaultFactory.sol +++ b/contracts/vault/VaultFactory.sol @@ -15,6 +15,13 @@ import "../lib/InterfaceIds.sol"; /// @author belbix contract VaultFactory is TetuERC165 { + // ************************************************************* + // CONSTANTS + // ************************************************************* + + /// @dev Version of this contract. Adjust manually on each code modification. + string public constant FACTORY_VERSION = "2.0.0"; + // ************************************************************* // VARIABLES // ************************************************************* @@ -45,7 +52,6 @@ contract VaultFactory is TetuERC165 { uint buffer, address vaultProxy, address vaultLogic, - address insurance, address splitterProxy, address splitterLogic ); @@ -141,12 +147,6 @@ contract VaultFactory is TetuERC165 { gauge, buffer ); - // clone insurance - VaultInsurance insurance = new VaultInsurance(); - // init insurance - insurance.init(vaultProxy, address(asset)); - // set insurance to vault - ITetuVaultV2(vaultProxy).initInsurance(insurance); // clone splitter address splitterProxy = address(new ProxyControlled()); @@ -169,7 +169,6 @@ contract VaultFactory is TetuERC165 { buffer, vaultProxy, vaultLogic, - address(insurance), splitterProxy, splitterLogic ); diff --git a/scripts/utils/DeployerUtils.ts b/scripts/utils/DeployerUtils.ts index d8c966d..4031988 100644 --- a/scripts/utils/DeployerUtils.ts +++ b/scripts/utils/DeployerUtils.ts @@ -267,9 +267,9 @@ export class DeployerUtils { gauge, buffer, ); - const insurance = await DeployerUtils.deployContract(signer, 'VaultInsurance') as VaultInsurance; - await insurance.init(vault.address, asset); - await vault.initInsurance(insurance.address); + // const insurance = await DeployerUtils.deployContract(signer, 'VaultInsurance') as VaultInsurance; + // await insurance.init(vault.address, asset); + // await vault.initInsurance(insurance.address); return vault; } diff --git a/test/vault/SplitterForBaseStrategyV3Tests.ts b/test/vault/SplitterForBaseStrategyV3Tests.ts index 32a9623..f76dc2d 100644 --- a/test/vault/SplitterForBaseStrategyV3Tests.ts +++ b/test/vault/SplitterForBaseStrategyV3Tests.ts @@ -500,23 +500,21 @@ describe("SplitterForBaseStrategyV3Tests", function () { await expect(vault.withdrawAll()).revertedWith("SS: Loss too high"); }); - it("withdraw all with slippage covering from insurance test", async () => { + it("withdraw all with slippage test", async () => { await vault.deposit(1000, signer.address); await strategy2.setSlippage(300); await vault.withdrawAll() }); - it("withdraw all with slippage NOT covering from insurance not enough revert", async () => { + it("withdraw all with slippage not enough revert", async () => { await vault.deposit(1000, signer.address); await strategy2.setSlippage(600); - // await vault.setFees(0, 250) await expect(vault.withdrawAll()).revertedWith("SS: Loss too hig"); }); - it("withdraw with 100% slippage NOT covering from insurance test", async () => { + it("withdraw with 100% slippage test", async () => { await strategy2.setUseTrueExpectedWithdraw(true); await strategy2.setSlippage(10); - // await vault.setFees(1_000, 1_000) await vault.deposit(10_000_000, signer.address) await vault.withdraw(1000, signer.address, signer.address) await strategy2.setSlippage(1_000); @@ -524,9 +522,8 @@ describe("SplitterForBaseStrategyV3Tests", function () { }); // todo probably need to fix - it("withdraw all with 100% slippage covering from insurance test", async () => { + it("withdraw all with 100% slippage test", async () => { await vault.redeem(900, signer.address, signer.address) - await vault.deposit(1000_000, signer.address) await vault.withdrawAll(); await vault.deposit(10000, signer.address) @@ -558,10 +555,9 @@ describe("SplitterForBaseStrategyV3Tests", function () { await vault.withdraw(99, signer.address, signer.address,); }); - it("withdraw with slippage covering from insurance test", async () => { + it("withdraw with slippage test", async () => { await vault.deposit(1000, signer.address); await strategy2.setSlippage(1_000); - // await vault.setFees(0, 1_000) await vault.withdraw(99, signer.address, signer.address,); }); @@ -663,14 +659,13 @@ describe("SplitterForBaseStrategyV3Tests", function () { it("rebalance with negative totalAssetsDelta", async () => { expect(await vault.sharePrice()).eq(1000000); - await usdc.mint(await vault.insurance(), 1000_000); await splitter.setAPRs([strategy.address], [200]); await vault.deposit(1000_000, signer.address); await strategy2.setSlippage(25); await splitter.rebalance(100, 30); - expect(await vault.totalAssets()).eq(2000000); + expect(await vault.totalAssets()).eq(1999750); }); }); @@ -762,47 +757,47 @@ describe("SplitterForBaseStrategyV3Tests", function () { describe("with totalAssetsDelta != 0", async () => { describe("investAll", () => { it("should cover expected loss if totalAssets-after is less than totalAssets-before", async () => { - const insurance = await vault.insurance(); + // const insurance = await vault.insurance(); await splitter.addStrategies([strategy.address], [100], [0]); - await usdc.mint(insurance, 500_000); - const insuranceBefore = await usdc.balanceOf(insurance); + // await usdc.mint(insurance, 500_000); + // const insuranceBefore = await usdc.balanceOf(insurance); await strategy.setSlippageDeposit(100); await vault.deposit(1000_000, signer.address); - const insuranceAfter = await usdc.balanceOf(insurance); + // const insuranceAfter = await usdc.balanceOf(insurance); - expect(insuranceAfter).eq(insuranceBefore.sub(1000)); + // expect(insuranceAfter).eq(insuranceBefore.sub(1000)); }); it("should not use insurance if totalAssets-after is greater than totalAssets-before", async () => { - const insurance = await vault.insurance(); + // const insurance = await vault.insurance(); await splitter.addStrategies([strategy.address], [100], [0]); - await usdc.mint(insurance, 500); - const insuranceBefore = await usdc.balanceOf(insurance); + // await usdc.mint(insurance, 500); + // const insuranceBefore = await usdc.balanceOf(insurance); await strategy.setTotalAssetsDelta(-30); await vault.deposit(1000, signer.address); - const insuranceAfter = await usdc.balanceOf(insurance); + // const insuranceAfter = await usdc.balanceOf(insurance); - expect(insuranceAfter.eq(insuranceBefore)).eq(true); + // expect(insuranceAfter.eq(insuranceBefore)).eq(true); }); }); describe("withdrawToVault", () => { it.skip("should cover expected loss if totalAssets-after is less than totalAssets-before", async () => { - const insurance = await vault.insurance(); + // const insurance = await vault.insurance(); await splitter.addStrategies([strategy.address], [100], [0]); - await usdc.mint(insurance, 50000); + // await usdc.mint(insurance, 50000); await vault.deposit(100000, signer.address); // await vault.setFees(0, 200) - const insuranceBefore = await usdc.balanceOf(insurance); + // const insuranceBefore = await usdc.balanceOf(insurance); await strategy.setSlippage(100); await vault.withdraw(50000, signer.address, signer.address); - const insuranceAfter = await usdc.balanceOf(insurance); + // const insuranceAfter = await usdc.balanceOf(insurance); - expect(insuranceAfter).eq(49950); + // expect(insuranceAfter).eq(49950); }); - it("should not use insurance if totalAssets-after is greater than totalAssets-before", async () => { + /*it("should not use ance if totalAssets-after is greater than totalAssets-before", async () => { const insurance = await vault.insurance(); await splitter.addStrategies([strategy.address], [100], [0]); @@ -815,25 +810,25 @@ describe("SplitterForBaseStrategyV3Tests", function () { const insuranceAfter = await usdc.balanceOf(insurance); expect(insuranceAfter.eq(insuranceBefore)).eq(true); - }); + });*/ }); describe("withdrawAll", () => { it("should cover expected loss if totalAssets-after is less than totalAssets-before", async () => { - const insurance = await vault.insurance(); + // const insurance = await vault.insurance(); await splitter.addStrategies([strategy.address], [100], [0]); - await usdc.mint(insurance, 5000_000); + // await usdc.mint(insurance, 5000_000); await vault.deposit(10_000_000, signer.address); await vault.connect(await Misc.impersonate('0xdEad000000000000000000000000000000000000')).transfer(signer.address, await vault.balanceOf('0xdEad000000000000000000000000000000000000')); - const insuranceBefore = await usdc.balanceOf(insurance); + // const insuranceBefore = await usdc.balanceOf(insurance); await strategy.setSlippage(100); await vault.withdrawAll(); - const insuranceAfter = await usdc.balanceOf(insurance); + // const insuranceAfter = await usdc.balanceOf(insurance); // console.log("insuranceBefore", insuranceBefore); // console.log("insuranceAfter", insuranceAfter); - expect(insuranceAfter).eq(insuranceBefore.sub(10000)); + // expect(insuranceAfter).eq(insuranceBefore.sub(10000)); }); // it("should not use insurance if totalAssets-after is greater than totalAssets-before", async () => { // const insurance = await vault.insurance(); @@ -854,7 +849,7 @@ describe("SplitterForBaseStrategyV3Tests", function () { }); it("should not withdraw when MockStrategyV3 has UseTrueExpectedWithdraw enabled, but in real slippage exist", async () => { - const insurance = await vault.insurance(); + // const insurance = await vault.insurance(); await strategy.init(controller.address, splitter.address); await splitter.addStrategies([strategy.address], [100], [0]); @@ -881,9 +876,9 @@ describe("SplitterForBaseStrategyV3Tests", function () { await expect(vault.withdrawAll()).revertedWith('SB: Too high') - const insuranceAfter = await usdc.balanceOf(insurance); + // const insuranceAfter = await usdc.balanceOf(insurance); // console.log('insuranceAfter', insuranceAfter) - expect(insuranceAfter).eq(0); + // expect(insuranceAfter).eq(0); expect(sharePriceBefore).eq(await vault.sharePrice()); }); diff --git a/test/vault/SplitterTests.ts b/test/vault/SplitterTests.ts index 35ee331..68f5032 100644 --- a/test/vault/SplitterTests.ts +++ b/test/vault/SplitterTests.ts @@ -502,20 +502,20 @@ describe("SplitterTests", function () { await expect(vault.withdrawAll()).revertedWith("SS: Loss too high"); }); - it("withdraw all with slippage covering from insurance test", async () => { + it("withdraw all with slippage test", async () => { await vault.deposit(1000, signer.address); await strategy2.setSlippage(300); await vault.withdrawAll() }); - it("withdraw all with slippage NOT covering from insurance not enough revert", async () => { + it("withdraw all with slippage not enough revert", async () => { await vault.deposit(1000, signer.address); await strategy2.setSlippage(600); // await vault.setFees(0, 250) await expect(vault.withdrawAll()).revertedWith("SS: Loss too hig"); }); - it("withdraw with 100% slippage NOT covering from insurance test", async () => { + it("withdraw with 100% slippage test", async () => { await strategy2.setUseTrueExpectedWithdraw(true); await strategy2.setSlippage(100); // await vault.setFees(1_000, 1_000) @@ -526,7 +526,7 @@ describe("SplitterTests", function () { }); // todo probably need to fix - it("withdraw all with 100% slippage covering from insurance test", async () => { + it("withdraw all with 100% slippage test", async () => { await vault.redeem(900, signer.address, signer.address) // await vault.setFees(100, 100) await vault.deposit(1000_000, signer.address) @@ -560,10 +560,9 @@ describe("SplitterTests", function () { await vault.withdraw(99, signer.address, signer.address,); }); - it("withdraw with slippage covering from insurance test", async () => { + it("withdraw with slippage test", async () => { await vault.deposit(1000, signer.address); await strategy2.setSlippage(1_000); - // await vault.setFees(0, 1_000) await vault.withdraw(99, signer.address, signer.address,); }); @@ -665,14 +664,13 @@ describe("SplitterTests", function () { it("rebalance with negative totalAssetsDelta", async () => { expect(await vault.sharePrice()).eq(1000000); - await usdc.mint(await vault.insurance(), 1000_000); await splitter.setAPRs([strategy.address], [200]); await vault.deposit(1000_000, signer.address); await strategy2.setSlippage(25); await splitter.rebalance(100, 30); - expect(await vault.totalAssets()).eq(2000000); + expect(await vault.totalAssets()).eq(1999750); }); }); @@ -763,18 +761,18 @@ describe("SplitterTests", function () { describe("with totalAssetsDelta != 0", async () => { describe("investAll", () => { it("should cover expected loss if totalAssets-after is less than totalAssets-before", async () => { - const insurance = await vault.insurance(); + // const insurance = await vault.insurance(); await splitter.addStrategies([strategy.address], [100], [0]); - await usdc.mint(insurance, 500_000); - const insuranceBefore = await usdc.balanceOf(insurance); + // await usdc.mint(insurance, 500_000); + // const insuranceBefore = await usdc.balanceOf(insurance); await strategy.setSlippageDeposit(100); await vault.deposit(1000_000, signer.address); - const insuranceAfter = await usdc.balanceOf(insurance); + // const insuranceAfter = await usdc.balanceOf(insurance); - expect(insuranceAfter).eq(insuranceBefore.sub(1000)); + // expect(insuranceAfter).eq(insuranceBefore.sub(1000)); }); - it("should not use insurance if totalAssets-after is greater than totalAssets-before", async () => { + /*it("should not use insurance if totalAssets-after is greater than totalAssets-before", async () => { const insurance = await vault.insurance(); await splitter.addStrategies([strategy.address], [100], [0]); @@ -785,25 +783,25 @@ describe("SplitterTests", function () { const insuranceAfter = await usdc.balanceOf(insurance); expect(insuranceAfter.eq(insuranceBefore)).eq(true); - }); + });*/ }); describe("withdrawToVault", () => { it.skip("should cover expected loss if totalAssets-after is less than totalAssets-before", async () => { - const insurance = await vault.insurance(); + // const insurance = await vault.insurance(); await splitter.addStrategies([strategy.address], [100], [0]); - await usdc.mint(insurance, 50000); + // await usdc.mint(insurance, 50000); await vault.deposit(100000, signer.address); // await vault.setFees(0, 200) - const insuranceBefore = await usdc.balanceOf(insurance); + // const insuranceBefore = await usdc.balanceOf(insurance); await strategy.setSlippage(100); await vault.withdraw(50000, signer.address, signer.address); - const insuranceAfter = await usdc.balanceOf(insurance); + // const insuranceAfter = await usdc.balanceOf(insurance); - expect(insuranceAfter).eq(49950); + // expect(insuranceAfter).eq(49950); }); - it("should not use insurance if totalAssets-after is greater than totalAssets-before", async () => { + /*it("should not use insurance if totalAssets-after is greater than totalAssets-before", async () => { const insurance = await vault.insurance(); await splitter.addStrategies([strategy.address], [100], [0]); @@ -816,25 +814,25 @@ describe("SplitterTests", function () { const insuranceAfter = await usdc.balanceOf(insurance); expect(insuranceAfter.eq(insuranceBefore)).eq(true); - }); + });*/ }); describe("withdrawAll", () => { it("should cover expected loss if totalAssets-after is less than totalAssets-before", async () => { - const insurance = await vault.insurance(); + // const insurance = await vault.insurance(); await splitter.addStrategies([strategy.address], [100], [0]); - await usdc.mint(insurance, 5000_000); + // await usdc.mint(insurance, 5000_000); await vault.deposit(10_000_000, signer.address); await vault.connect(await Misc.impersonate('0xdEad000000000000000000000000000000000000')).transfer(signer.address, await vault.balanceOf('0xdEad000000000000000000000000000000000000')); - const insuranceBefore = await usdc.balanceOf(insurance); + // const insuranceBefore = await usdc.balanceOf(insurance); await strategy.setSlippage(100); await vault.withdrawAll(); - const insuranceAfter = await usdc.balanceOf(insurance); + // const insuranceAfter = await usdc.balanceOf(insurance); // console.log("insuranceBefore", insuranceBefore); // console.log("insuranceAfter", insuranceAfter); - expect(insuranceAfter).eq(insuranceBefore.sub(10000)); + // expect(insuranceAfter).eq(insuranceBefore.sub(10000)); }); // it("should not use insurance if totalAssets-after is greater than totalAssets-before", async () => { // const insurance = await vault.insurance(); @@ -854,8 +852,8 @@ describe("SplitterTests", function () { }); }); - it("should not change share price during insurance covering", async () => { - const insurance = await vault.insurance(); + it("should not change share price", async () => { + // const insurance = await vault.insurance(); await strategy.init(controller.address, splitter.address); await splitter.addStrategies([strategy.address], [100], [0]); @@ -874,7 +872,7 @@ describe("SplitterTests", function () { expect(sharePriceBefore).eq(await vault.sharePrice()); - const insuranceBefore = await usdc.balanceOf(insurance); + // const insuranceBefore = await usdc.balanceOf(insurance); // console.log('insuranceBefore', insuranceBefore) await strategy.setUseTrueExpectedWithdraw(true) @@ -883,9 +881,9 @@ describe("SplitterTests", function () { await vault.withdrawAll(); - const insuranceAfter = await usdc.balanceOf(insurance); + // const insuranceAfter = await usdc.balanceOf(insurance); // console.log('insuranceAfter', insuranceAfter) - expect(insuranceAfter).eq(0); + // expect(insuranceAfter).eq(0); expect(sharePriceBefore).eq(await vault.sharePrice()); }); @@ -897,18 +895,18 @@ describe("SplitterTests", function () { // console.log('add strategy') await splitter.addStrategies([strategy.address], [100], [0]); // console.log('check not a strategy') - await expect(splitter.coverPossibleStrategyLoss(0, 500_000)).rejectedWith("SS: Invalid strategy"); + await expect(splitter.registerStrategyLoss(0, 500_000)).rejectedWith("SS: Invalid strategy"); // console.log('deposit') await vault.deposit(10_000_000, signer.address); // console.log('register huge loss revert') - await expect(splitter.connect(await Misc.impersonate(strategy.address)).coverPossibleStrategyLoss(0, 500_000)).rejectedWith("SS: Loss too high"); - await splitter.connect(await Misc.impersonate(strategy.address)).coverPossibleStrategyLoss(1000_000, 500_000); + await expect(splitter.connect(await Misc.impersonate(strategy.address)).registerStrategyLoss(0, 500_000)).rejectedWith("SS: Loss too high"); + await splitter.connect(await Misc.impersonate(strategy.address)).registerStrategyLoss(1000_000, 500_000); await vault.deposit(10_000_000, signer.address); - await splitter.connect(await Misc.impersonate(strategy.address)).coverPossibleStrategyLoss(0, 100); + await splitter.connect(await Misc.impersonate(strategy.address)).registerStrategyLoss(0, 100); }); }); diff --git a/test/vault/TetuVaultV2Tests.ts b/test/vault/TetuVaultV2Tests.ts index 38f22f8..b1ab914 100644 --- a/test/vault/TetuVaultV2Tests.ts +++ b/test/vault/TetuVaultV2Tests.ts @@ -14,8 +14,6 @@ import { ProxyControlled, TetuVaultV2, TetuVaultV2__factory, - VaultInsurance, - VaultInsurance__factory } from "../../typechain"; import {Misc} from "../../scripts/utils/Misc"; import {formatUnits, parseUnits} from "ethers/lib/utils"; @@ -178,8 +176,6 @@ describe("Tetu Vault V2 tests", function () { expect(await vault.balanceOf(signer.address)).eq(1000000); // NO DEPOSIT FEES expect(bal2.sub(await usdc.balanceOf(signer.address))).eq(parseUnits('1', 6)); - const insurance = await vault.insurance(); - expect(await usdc.balanceOf(insurance)).eq(0); // INSURANCE IS DEPRECATED expect(await vault.sharePrice()).eq(parseUnits('1', 6)) }); @@ -194,8 +190,6 @@ describe("Tetu Vault V2 tests", function () { expect(await vault.balanceOf(signer.address)).eq(990_000); expect(bal2.sub(await usdc.balanceOf(signer.address))).eq(990_000); - const insurance = await vault.insurance(); - expect(await usdc.balanceOf(insurance)).eq(0); expect(await vault.sharePrice()).eq(parseUnits('1', 6)) }); @@ -216,8 +210,6 @@ describe("Tetu Vault V2 tests", function () { expect(shares1.sub(await vault.balanceOf(signer.address))).eq(shares); expect((await usdc.balanceOf(signer.address)).sub(bal1)).eq(assetsMinusTax); - const insurance = await vault.insurance(); - expect(await usdc.balanceOf(insurance)).eq(0); expect(await vault.sharePrice()).eq(parseUnits('1', 6)) }); @@ -238,8 +230,6 @@ describe("Tetu Vault V2 tests", function () { expect(shares1.sub(await vault.balanceOf(signer.address))).eq(shares); expect((await usdc.balanceOf(signer.address)).sub(bal1)).eq(assetsMinusTax); - const insurance = await vault.insurance(); - expect(await usdc.balanceOf(insurance)).eq(0); expect(await vault.sharePrice()).eq(parseUnits('1', 6)) }); @@ -334,15 +324,15 @@ describe("Tetu Vault V2 tests", function () { await expect(vault.connect(signer2).setDoHardWorkOnInvest(false)).revertedWith("DENIED"); }); - it("insurance transfer revert", async () => { + /*it("insurance transfer revert", async () => { const insurance = VaultInsurance__factory.connect(await vault.insurance(), signer); await expect(insurance.init(Misc.ZERO_ADDRESS, Misc.ZERO_ADDRESS)).revertedWith("INITED"); - }); + });*/ - it("insurance transfer revert", async () => { + /*it("insurance transfer revert", async () => { const insurance = VaultInsurance__factory.connect(await vault.insurance(), signer); await expect(insurance.transferToVault(1)).revertedWith("!VAULT"); - }); + });*/ it("set DoHardWorkOnInvest test", async () => { await vault.setDoHardWorkOnInvest(false); @@ -459,7 +449,7 @@ describe("Tetu Vault V2 tests", function () { expect(bal.sub(balAfter)).eq(1000); }); - describe("splitter/insurance setup tests", function () { + describe("splitter setup tests", function () { let v: TetuVaultV2; before(async function () { const logic = await DeployerUtils.deployContract(signer, 'TetuVaultV2') as TetuVaultV2; @@ -476,22 +466,6 @@ describe("Tetu Vault V2 tests", function () { ) }); - it("init insurance already inited revert", async () => { - await expect(vault.initInsurance(Misc.ZERO_ADDRESS)).revertedWith('INITED'); - }); - - it("init insurance wrong vault revert", async () => { - const insurance = await DeployerUtils.deployContract(signer, 'VaultInsurance') as VaultInsurance; - await insurance.init(vault.address, usdc.address); - await expect(v.initInsurance(insurance.address)).revertedWith('!VAULT'); - }); - - it("init insurance wrong asset revert", async () => { - const insurance = await DeployerUtils.deployContract(signer, 'VaultInsurance') as VaultInsurance; - await insurance.init(v.address, tetu.address); - await expect(v.initInsurance(insurance.address)).revertedWith('!ASSET'); - }); - it("set splitter from 3d party revert", async () => { await expect(vault.connect(signer2).setSplitter(Misc.ZERO_ADDRESS)).revertedWith("DENIED"); });