MarginAccountHelper will be bricked if registry.marginAccount or insuranceFund ever change
MarginAccountHelper#syncDeps causes the contract to refresh it's references to both marginAccount and insuranceFund. The issue is that approvals are never made to the new contracts rendering them useless.\\nMarginAccountHelper.sol#L82-L87\\n```\\nfunction syncDeps(address _registry) public onlyGovernance {\\n    IRegistry registry = IRegistry(_registry);\\n    vusd = IVUSD(registry.vusd());\\n    marginAccount = IMarginAccount(registry.marginAccount());\\n    insuranceFund = IInsuranceFund(registry.insuranceFund());\\n}\\n```\\n\\nWhen syncDeps is called the marginAccount and insuranceFund references are updated. All transactions require approvals to one of those two contract. Since no new approvals are made, the contract will become bricked and all transactions will revert.
Remove approvals to old contracts before changing and approve new contracts after
Contract will become bricked and all contracts that are integrated or depend on it will also be bricked
```\\nfunction syncDeps(address _registry) public onlyGovernance {\\n    IRegistry registry = IRegistry(_registry);\\n    vusd = IVUSD(registry.vusd());\\n    marginAccount = IMarginAccount(registry.marginAccount());\\n    insuranceFund = IInsuranceFund(registry.insuranceFund());\\n}\\n```\\n