MEDIUM severity: The vulnerability lies in the `OwnerFacet.sol` contract, where the `deleteBridge()` function does no. The vulnerability lies in the `OwnerFacet.sol` contract, where the `deleteBridge()` function does not check if there are any assets in the bridge before removing it. This can lead to a situation where users' deposited tokens for the bridge are lost if the DAO decides to remove the bridge for any rea...

Vulnerable code:
```\nfunction test_DeleteBridgeWithAssets() public {\n    console.log("Sender ethEscrowed in vault 2 before deposit: ", diamond.getVaultUserStruct(2, sender).ethEscrowed);\n    deal(_rethA, sender, 10000 ether);\n\n    vm.startPrank(sender);\n    uint88 deposit1 = 1000 ether;\n    uint88 withdrawAmount = 100 ether;\n    diamond.deposit(_bridgeRethToBeDeleted, deposit1);\n    console.log("Sender ethEscrowed in vault2 after deposit: ", diamond.getVaultUserStruct(2, sender).ethEscrowed);\n    diamond.withdraw(_bridgeRethToBeDeleted, withdrawAmount);\n    console.log("Sender ethEscrowed after withdraw: ", diamond.getVaultUserStruct(2, sender).ethEscrowed);\n    vm.stopPrank();\n\n    console.log("Balance of reth in the bridgeRethToBeDeleted: ", rethA.balanceOf(_bridgeRethToBeDeleted));\n\n    vm.startPrank(owner);\n    diamond.deleteBridge(_bridgeRethToBeDeleted);\n    vm.stopPrank();\n\n    vm.startPrank(sender);\n    vm.expectRevert();\n    diamond.withdraw(_bridgeRethToBeDeleted, withdrawAmount);\n    console.log("Balance of reth in the bridgeRethToBeDeleted: ", rethA.balanceOf(_bridgeRethToBeDeleted));\n    vm.stopPrank();\n}\n```\n```\nrethA.approve(\n    _bridgeRethToBeDeleted,\n    0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n)\n```\n```\npublic class Bridge {\n    public IBridge bridgeRethToBeDeleted;\n    public address public _bridgeRethToBeDeleted;\n    public IAsset zethToBeDeletedVault;\n    public address public _zethToBeDeletedVault;\n    public IRocketStorage rocketStorageA;\n    public address public _rocketStorageA;\n    public IRocketTokenRETH rethA;\n    public address public _rethA;\n}\n```\n```\nif (chainId == 31337) {\n    // mocks\n    _immutableCreate2Factory = deployCode("ImmutableCreate2Factory.sol");\n\n    if (isMock) {\n        _steth = deployCode("STETH.sol");\n        _unsteth = deployCode("UNSTETH.sol", abi.encode(_steth));\n        _rocketStorage = deployCode("RocketStorage.sol");\n        _reth = deployCode("RocketTokenRETH.sol");\n        reth = IRocketTokenRETH(_reth);\n        _ethAggregator = deployCode("MockAggregatorV3.sol");\n        _rocketStorageA = deployCode("RocketStorage.sol");\n        _rethA = deployCode("RocketTokenRETH.sol");\n        rethA = IRocketTokenRETH(_rethA);\n\n        rocketStorage = IRocketStorage(_rocketStorage);\n        rocketStorageA = IRocketStorage(_rocketStorageA);\n        steth = ISTETH(_steth);\n        unsteth = IUNSTETH(payable(_unsteth));\n        ethAggregator = IMockAggregatorV3(_ethAggregator);\n    }\n\n    rocketStorage = IRocketStorage(_rocketStorage);\n    steth = ISTETH(_steth);\n    unsteth = IUNSTETH(payable(_unsteth));\n    ethAggregator = IMockAggregatorV3(_ethAggregator);\n\n    _zethToBeDeletedVault = factory.safeCreate2(\n        salt,\n        abi.encodePacked(\n            vm.getCode("Asset.sol:Asset"), abi.encode(_diamond, "Zebra ETH Two", "ZETHT")\n        )\n    );\n\n    _bridgeRethToBeDeleted = factory.safeCreate2(\n        salt,\n        abi.encodePacked(\n            vm.getCode("BridgeReth.sol:BridgeReth"),\n            abi.encode(_rocketStorageA, _diamond)\n        )\n    );\n\n    bridgeRethToBeDeleted = IBridge(_bridgeRethToBeDeleted);\n\n    MTypes.CreateVaultParams memory vaultParams;\n    vaultParams.zethTithePercent = 10_00;\n    vaultParams.dittoMatchedRate = 1;\n    vaultParams.dittoShorterRate = 1;\n    diamond.createVault({zeth: _zeth, vault: Vault.CARBON, params: vaultParams});\n\n    MTypes.CreateVaultParams memory vaultParamsTwo;\n    vaultParamsTwo.zethTithePercent = 9_00;\n    vaultParamsTwo.d\n```