Skip to content

Commit

Permalink
fix: state serialiser renamed
Browse files Browse the repository at this point in the history
  • Loading branch information
0xmikko committed Jun 20, 2024
1 parent 81d7b86 commit 4d6d32a
Show file tree
Hide file tree
Showing 8 changed files with 21 additions and 21 deletions.
10 changes: 5 additions & 5 deletions contracts/compressors/PriceFeedCompressor.sol
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ import {IPriceFeed, IUpdatablePriceFeed} from "@gearbox-protocol/core-v3/contrac
import {IVersion} from "@gearbox-protocol/core-v3/contracts/interfaces/base/IVersion.sol";
import {PriceFeedType} from "@gearbox-protocol/sdk-gov/contracts/PriceFeedType.sol";

import {IStateSerializerLegacy} from "../interfaces/IStateSerializerLegacy.sol";
import {IStateSerializer} from "../interfaces/IStateSerializer.sol";
import {IStateSerializerTrait} from "../interfaces/IStateSerializerTrait.sol";
import {NestedPriceFeeds} from "../libraries/NestedPriceFeeds.sol";
import {BoundedPriceFeedSerializer} from "../serializers/oracles/BoundedPriceFeedSerializer.sol";
import {BPTWeightedPriceFeedSerializer} from "../serializers/oracles/BPTWeightedPriceFeedSerializer.sol";
Expand Down Expand Up @@ -44,7 +44,7 @@ contract PriceFeedCompressor is IVersion, Ownable {
uint256 public constant override version = 3_10;

/// @notice Map of state serializers for different price feed types
/// @dev Serializers only apply to feeds that don't implement `IStateSerializerTrait` themselves
/// @dev Serializers only apply to feeds that don't implement `IStateSerializer` themselves
mapping(uint8 => address) public serializers;

/// @notice Emitted when new state serializer is set for a given price feed type
Expand All @@ -53,7 +53,7 @@ contract PriceFeedCompressor is IVersion, Ownable {
/// @notice Constructor
/// @param owner Contract owner
/// @dev Sets serializers for existing price feed types.
/// It is recommended to implement `IStateSerializerTrait` in new price feeds.
/// It is recommended to implement `IStateSerializer` in new price feeds.
constructor(address owner) {
transferOwnership(owner);

Expand Down Expand Up @@ -217,12 +217,12 @@ contract PriceFeedCompressor is IVersion, Ownable {
data.updatable = updatable;
} catch {}

try IStateSerializerTrait(priceFeed).serialize() returns (bytes memory specificParams) {
try IStateSerializer(priceFeed).serialize() returns (bytes memory specificParams) {
data.specificParams = specificParams;
} catch {
address serializer = serializers[data.priceFeedType];
if (serializer != address(0)) {
data.specificParams = IStateSerializer(serializer).serialize(priceFeed);
data.specificParams = IStateSerializerLegacy(serializer).serialize(priceFeed);
}
}

Expand Down
2 changes: 1 addition & 1 deletion contracts/compressors/Types.sol
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ struct PriceFeedMapEntry {
/// @param skipCheck Whether price feed implements its own staleness and sanity check, defaults to `false`
/// @param updatable Whether it is an on-demand updatable (aka pull) price feed, defaults to `false`
/// @param specificParams ABI-encoded params specific to this price feed type, filled if price feed implements
/// `IStateSerializerTrait` or there is a state serializer set for this type
/// `IStateSerializer` or there is a state serializer set for this type
/// @param underlyingFeeds Array of underlying feeds, filled when `priceFeed` is nested
/// @param underlyingStalenessPeriods Staleness periods of underlying feeds, filled when `priceFeed` is nested
/// @param answer Price feed answer packed in a struct
Expand Down
6 changes: 3 additions & 3 deletions contracts/interfaces/IStateSerializer.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
// (c) Gearbox Foundation, 2024.
pragma solidity ^0.8.17;

/// @title State serializer
/// @notice Generic interface of a contract that is able to serialize state of other contracts
/// @title State serializer trait
/// @notice Generic interface of a contract that is able to serialize its own state
interface IStateSerializer {
function serialize(address) external view returns (bytes memory);
function serialize() external view returns (bytes memory);
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
// (c) Gearbox Foundation, 2024.
pragma solidity ^0.8.17;

/// @title State serializer trait
/// @notice Generic interface of a contract that is able to serialize its own state
interface IStateSerializerTrait {
function serialize() external view returns (bytes memory);
/// @title State serializer
/// @notice Generic interface of a contract that is able to serialize state of other contracts
interface IStateSerializerLegacy {
function serialize(address) external view returns (bytes memory);
}
4 changes: 2 additions & 2 deletions contracts/serializers/oracles/BoundedPriceFeedSerializer.sol
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
pragma solidity ^0.8.17;

import {BoundedPriceFeed} from "@gearbox-protocol/oracles-v3/contracts/oracles/BoundedPriceFeed.sol";
import {IStateSerializer} from "../../interfaces/IStateSerializer.sol";
import {IStateSerializerLegacy} from "../../interfaces/IStateSerializerLegacy.sol";

contract BoundedPriceFeedSerializer is IStateSerializer {
contract BoundedPriceFeedSerializer is IStateSerializerLegacy {
function serialize(address priceFeed) external view override returns (bytes memory) {
BoundedPriceFeed pf = BoundedPriceFeed(priceFeed);

Expand Down
4 changes: 2 additions & 2 deletions contracts/serializers/oracles/LPPriceFeedSerializer.sol
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
pragma solidity ^0.8.17;

import {ILPPriceFeed} from "@gearbox-protocol/oracles-v3/contracts/interfaces/ILPPriceFeed.sol";
import {IStateSerializer} from "../../interfaces/IStateSerializer.sol";
import {IStateSerializerLegacy} from "../../interfaces/IStateSerializerLegacy.sol";

contract LPPriceFeedSerializer is IStateSerializer {
contract LPPriceFeedSerializer is IStateSerializerLegacy {
struct PriceData {
uint256 exchangeRate;
int256 aggregatePrice;
Expand Down
4 changes: 2 additions & 2 deletions contracts/serializers/oracles/PythPriceFeedSerializer.sol
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
pragma solidity ^0.8.17;

import {PythPriceFeed} from "@gearbox-protocol/oracles-v3/contracts/oracles/updatable/PythPriceFeed.sol";
import {IStateSerializer} from "../../interfaces/IStateSerializer.sol";
import {IStateSerializerLegacy} from "../../interfaces/IStateSerializerLegacy.sol";

contract PythPriceFeedSerializer is IStateSerializer {
contract PythPriceFeedSerializer is IStateSerializerLegacy {
function serialize(address priceFeed) external view override returns (bytes memory) {
PythPriceFeed pf = PythPriceFeed(payable(priceFeed));

Expand Down
4 changes: 2 additions & 2 deletions contracts/serializers/oracles/RedstonePriceFeedSerializer.sol
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
pragma solidity ^0.8.17;

import {RedstonePriceFeed} from "@gearbox-protocol/oracles-v3/contracts/oracles/updatable/RedstonePriceFeed.sol";
import {IStateSerializer} from "../../interfaces/IStateSerializer.sol";
import {IStateSerializerLegacy} from "../../interfaces/IStateSerializerLegacy.sol";

contract RedstonePriceFeedSerializer is IStateSerializer {
contract RedstonePriceFeedSerializer is IStateSerializerLegacy {
function serialize(address priceFeed) external view override returns (bytes memory) {
RedstonePriceFeed pf = RedstonePriceFeed(priceFeed);

Expand Down

0 comments on commit 4d6d32a

Please sign in to comment.