Setter functions for core GMX contracts
GMX docs state that their `ExchangeRouter` and `GMXOracle` contracts `will` change as new logic is added. Therefore setter functions should be added to `GMXVault.sol` to be able to update the state variables storing those addressed when the need arises.\\nFrom the GMX docs:\\n```\\nIf using contracts such as the ExchangeRouter, Oracle or Reader do note that their addresses will change as new logic is added\\n```\\n
Create setter functions in `GMXVault.sol` as below:\\n```\\n  function updateExchangeRouter(address exchangeRouter) external onlyOwner {\\n    _store.exchangeRouter = exchangeRouter;\\n    emit ExchangeRouterUpdated(exchangeRouter);\\n  }\\n\\n  function updateGMXOracle(address gmxOracle) external onlyOwner {\\n    _store.gmxOracle = gmxOracle;\\n    emit GMXOracleUpdated(gmxOracle);\\n  }\\n```\\n
Not being able to use the `ExchangeRouter` and `GMXOracle` contracts the protocol would effectively be unusable given their importance.
```\\nIf using contracts such as the ExchangeRouter, Oracle or Reader do note that their addresses will change as new logic is added\\n```\\n