update() wrong privilege control
in `OracleFactory.update()` will call `oracle.update()`\\n```\\ncontract OracleFactory is IOracleFactory, Factory {\\n// rest of code\\n    function update(bytes32 id, IOracleProviderFactory factory) external onlyOwner {\\n        if (!factories[factory]) revert OracleFactoryNotRegisteredError();\\n        if (oracles[id] == IOracleProvider(address(0))) revert OracleFactoryNotCreatedError();\\n\\n        IOracleProvider oracleProvider = factory.oracles(id);\\n        if (oracleProvider == IOracleProvider(address(0))) revert OracleFactoryInvalidIdError();\\n\\n        IOracle oracle = IOracle(address(oracles[id]));\\n      oracle.update(oracleProvider);\\n    }\\n```\\n\\nBut `oracle.update()` permission is needed for `OracleFactory.owner()` and not `OracleFactory` itself.\\n```\\n  function update(IOracleProvider newProvider) external onlyOwner {\\n        _updateCurrent(newProvider);\\n        _updateLatest(newProvider.latest());\\n    }\\n\\n    modifier onlyOwner {\\n      if (msg.sender != factory().owner()) revert InstanceNotOwnerError(msg.sender);\\n        _;\\n    }\\n```\\n\\nThis results in `OracleFactory` not being able to do `update()`. Suggest changing the limit of `oracle.update()` to `factory()`.
```\\ncontract Oracle is IOracle, Instance {\\n// rest of code\\n\\n-   function update(IOracleProvider newProvider) external onlyOwner {\\n+   function update(IOracleProvider newProvider) external {\\n+       require(msg.sender == factory(),"invalid sender");\\n        _updateCurrent(newProvider);\\n        _updateLatest(newProvider.latest());\\n    }\\n```\\n
`OracleFactory.update()` unable to add `IOracleProvider`
```\\ncontract OracleFactory is IOracleFactory, Factory {\\n// rest of code\\n    function update(bytes32 id, IOracleProviderFactory factory) external onlyOwner {\\n        if (!factories[factory]) revert OracleFactoryNotRegisteredError();\\n        if (oracles[id] == IOracleProvider(address(0))) revert OracleFactoryNotCreatedError();\\n\\n        IOracleProvider oracleProvider = factory.oracles(id);\\n        if (oracleProvider == IOracleProvider(address(0))) revert OracleFactoryInvalidIdError();\\n\\n        IOracle oracle = IOracle(address(oracles[id]));\\n      oracle.update(oracleProvider);\\n    }\\n```\\n