[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"baseToken","type":"address"},{"indexed":true,"internalType":"address","name":"underlyingToken","type":"address"},{"indexed":false,"internalType":"bytes32","name":"callCoefficients","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"putCoefficients","type":"bytes32"}],"name":"UpdateCoefficients","type":"event"},{"inputs":[{"internalType":"address[]","name":"_addr","type":"address[]"}],"name":"addWhitelistedRelayer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int256[5]","name":"coefficients","type":"int256[5]"}],"name":"formatVolatilitySurfaceCoefficients","outputs":[{"internalType":"bytes32","name":"result","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"baseToken","type":"address"},{"internalType":"address","name":"underlyingToken","type":"address"},{"internalType":"int128","name":"spot64x64","type":"int128"},{"internalType":"int128","name":"strike64x64","type":"int128"},{"internalType":"int128","name":"timeToMaturity64x64","type":"int128"},{"internalType":"bool","name":"isCall","type":"bool"}],"name":"getAnnualizedVolatility64x64","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"baseToken","type":"address"},{"internalType":"address","name":"underlyingToken","type":"address"},{"internalType":"int128","name":"strike64x64","type":"int128"},{"internalType":"int128","name":"spot64x64","type":"int128"},{"internalType":"int128","name":"timeToMaturity64x64","type":"int128"},{"internalType":"bool","name":"isCall","type":"bool"}],"name":"getBlackScholesPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"baseToken","type":"address"},{"internalType":"address","name":"underlyingToken","type":"address"},{"internalType":"int128","name":"strike64x64","type":"int128"},{"internalType":"int128","name":"spot64x64","type":"int128"},{"internalType":"int128","name":"timeToMaturity64x64","type":"int128"},{"internalType":"bool","name":"isCall","type":"bool"}],"name":"getBlackScholesPrice64x64","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"maturity","type":"uint64"}],"name":"getTimeToMaturity64x64","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"baseToken","type":"address"},{"internalType":"address","name":"underlyingToken","type":"address"}],"name":"getVolatilitySurface","outputs":[{"components":[{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"bytes32","name":"callCoefficients","type":"bytes32"},{"internalType":"bytes32","name":"putCoefficients","type":"bytes32"}],"internalType":"struct VolatilitySurfaceOracleStorage.Update","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"baseToken","type":"address"},{"internalType":"address","name":"underlyingToken","type":"address"},{"internalType":"bool","name":"isCall","type":"bool"}],"name":"getVolatilitySurfaceCoefficientsUnpacked","outputs":[{"internalType":"int256[]","name":"","type":"int256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getWhitelistedRelayers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"input","type":"bytes32"}],"name":"parseVolatilitySurfaceCoefficients","outputs":[{"internalType":"int256[]","name":"coefficients","type":"int256[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addr","type":"address[]"}],"name":"removeWhitelistedRelayer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"baseTokens","type":"address[]"},{"internalType":"address[]","name":"underlyingTokens","type":"address[]"},{"internalType":"bytes32[]","name":"callCoefficients","type":"bytes32[]"},{"internalType":"bytes32[]","name":"putCoefficients","type":"bytes32[]"}],"name":"updateVolatilitySurfaces","outputs":[],"stateMutability":"nonpayable","type":"function"}]