0.1.5 • Published 3 years ago

@lbertenasco/y-oracle v0.1.5

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

YUnsafeOracleV1

Wrappers:

Supported pairs:

YUnsafeOracleV1

0xD1f5aEe3f025d2f4e42dd74DEC17d5FaA4707CbC

    function getAmountOut(
        address _pair,
        address _tokenIn,
        uint256 _amountIn,
        address _tokenOut
    ) external view override returns (uint256 _amountOut) {
        if (pairOracle[_pair] != address(0)) return ISimpleOracle(pairOracle[_pair]).getAmountOut(_pair, _tokenIn, _amountIn, _tokenOut);
        return ISimpleOracle(defaultOracle).getAmountOut(_pair, _tokenIn, _amountIn, _tokenOut);
    }

How to add new pairs + custom wrappers

  • add a PR to this repo that adds the pair(s) needed under ### Supported pairs:
    • each pair should have the name (in symbols), the address and the wrapper-oracle that supports that pair
    • a yMechanic member will answer on the PR if there are any comments or after the pair is added

      take into account that the defaultOracle should handle MOST of the pairs out there. if you have an improvement for the defaultOracle feel free to create a PR too :)

    function setPairOracle(address _pair, address _oracle) external override onlyGovernor {
        pairOracle[_pair] = _oracle;
    }

Changing default oracle and considerations

IMPORTANT remember that when changing the default oracle, some pairs might stop working. make sure new default oracle supports same tokens as previous one.

    function setDefaultOracle(address _defaultOracle) external override onlyGovernor {
        _setOracle(_defaultOracle);
    }
    function _setOracle(address _defaultOracle) internal {
        defaultOracle = _defaultOracle;
    }
0.1.5

3 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago