Skip to content

Commit

Permalink
Merge pull request #421 from equilibria-xyz/britz-update-imports
Browse files Browse the repository at this point in the history
[Cleanup] Specify all imports
  • Loading branch information
kbrizzle authored Oct 16, 2024
2 parents 868e010 + 55c8152 commit ab22885
Show file tree
Hide file tree
Showing 79 changed files with 393 additions and 278 deletions.
4 changes: 3 additions & 1 deletion packages/perennial-extensions/contracts/Coordinator.sol
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity 0.8.24;

import { IMarket } from "@equilibria/perennial-v2/contracts/interfaces/IMarket.sol";
import { RiskParameter } from "@equilibria/perennial-v2/contracts/types/RiskParameter.sol";
import { Ownable } from "@equilibria/root/attribute/Ownable.sol";
import { ICoordinator, IMarket, RiskParameter, Token18 } from "./interfaces/ICoordinator.sol";
import { ICoordinator } from "./interfaces/ICoordinator.sol";

/// @title Coordinator
/// @notice Manages claiming fees and updating risk parameters for markets
Expand Down
22 changes: 16 additions & 6 deletions packages/perennial-extensions/contracts/MultiInvoker.sol
Original file line number Diff line number Diff line change
@@ -1,18 +1,28 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.13;

import { Address } from "@openzeppelin/contracts/utils/Address.sol";
import { AggregatorV3Interface } from "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol";
import { IEmptySetReserve } from "@equilibria/emptyset-batcher/interfaces/IEmptySetReserve.sol";
import { IFactory } from "@equilibria/root/attribute/interfaces/IFactory.sol";
import { IBatcher } from "@equilibria/emptyset-batcher/interfaces/IBatcher.sol";
import { IInstance } from "@equilibria/root/attribute/interfaces/IInstance.sol";
import { IFactory } from "@equilibria/root/attribute/interfaces/IFactory.sol";
import { Token6 } from "@equilibria/root/token/types/Token6.sol";
import { Token18 } from "@equilibria/root/token/types/Token18.sol";
import { UFixed6, UFixed6Lib } from "@equilibria/root/number/types/UFixed6.sol";
import { UFixed18, UFixed18Lib } from "@equilibria/root/number/types/UFixed18.sol";
import { Fixed6, Fixed6Lib } from "@equilibria/root/number/types/Fixed6.sol";
import { Fixed18, Fixed18Lib } from "@equilibria/root/number/types/Fixed18.sol";
import { Kept } from "@equilibria/root/attribute/Kept/Kept.sol";
import { IMarket } from "@equilibria/perennial-v2/contracts/interfaces/IMarket.sol";
import { Order } from "@equilibria/perennial-v2/contracts/types/Order.sol";
import { Position } from "@equilibria/perennial-v2/contracts/types/Position.sol";
import { IPythFactory } from "@equilibria/perennial-v2-oracle/contracts/interfaces/IPythFactory.sol";
import { IVault } from "@equilibria/perennial-v2-vault/contracts/interfaces/IVault.sol";
import "./interfaces/IMultiInvoker.sol";
import "./types/TriggerOrder.sol";
import "./types/InterfaceFee.sol";
import "@equilibria/root/attribute/Kept/Kept.sol";
import "@openzeppelin/contracts/utils/Address.sol";
import { Intent } from "@equilibria/perennial-v2-verifier/contracts/types/Intent.sol";
import { IMultiInvoker } from "./interfaces/IMultiInvoker.sol";
import { TriggerOrder, TriggerOrderStorage } from "./types/TriggerOrder.sol";
import { InterfaceFee } from "./types/InterfaceFee.sol";

/// @title MultiInvoker
/// @notice Extension to handle batched calls to the Perennial protocol
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity 0.8.24;

import "@equilibria/root/attribute/Kept/Kept_Arbitrum.sol";
import "./MultiInvoker.sol";
import { UFixed18 } from "@equilibria/root/number/types/UFixed18.sol";
import { Token6 } from "@equilibria/root/token/types/Token6.sol";
import { Token18 } from "@equilibria/root/token/types/Token18.sol";
import { IFactory } from "@equilibria/root/attribute/Factory.sol";
import { Kept, Kept_Arbitrum } from "@equilibria/root/attribute/Kept/Kept_Arbitrum.sol";
import { IEmptySetReserve } from "@equilibria/emptyset-batcher/interfaces/IEmptySetReserve.sol";
import { IBatcher } from "@equilibria/emptyset-batcher/interfaces/IBatcher.sol";
import { MultiInvoker } from "./MultiInvoker.sol";

/// @title MultiInvoker_Arbitrum
/// @notice Arbitrum Kept MultiInvoker implementation.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity 0.8.24;

import "@equilibria/root/attribute/Kept/Kept_Optimism.sol";
import "./MultiInvoker.sol";
import { UFixed18 } from "@equilibria/root/number/types/UFixed18.sol";
import { Token6 } from "@equilibria/root/token/types/Token6.sol";
import { Token18 } from "@equilibria/root/token/types/Token18.sol";
import { IFactory } from "@equilibria/root/attribute/Factory.sol";
import { Kept, Kept_Optimism } from "@equilibria/root/attribute/Kept/Kept_Optimism.sol";
import { IEmptySetReserve } from "@equilibria/emptyset-batcher/interfaces/IEmptySetReserve.sol";
import { IBatcher } from "@equilibria/emptyset-batcher/interfaces/IBatcher.sol";
import { MultiInvoker } from "./MultiInvoker.sol";

/// @title MultiInvoker_Optimism
/// @notice Optimism Kept MultiInvoker implementation.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.13;

import { Token18 } from "@equilibria/root/token/types/Token18.sol";
import { IMarket, RiskParameter } from "@equilibria/perennial-v2/contracts/interfaces/IMarket.sol";
import { IMarket } from "@equilibria/perennial-v2/contracts/interfaces/IMarket.sol";
import { RiskParameter } from "@equilibria/perennial-v2/contracts/types/RiskParameter.sol";

interface ICoordinator {
function setComptroller(address comptroller) external;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,11 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.13;
import {
IFactory,
IMarket,
Position,
Local,
UFixed18Lib,
UFixed18,
OracleVersion,
RiskParameter
} from "@equilibria/perennial-v2/contracts/interfaces/IMarket.sol";

import { IFactory } from "@equilibria/root/attribute/interfaces/IFactory.sol";
import { IMarket } from "@equilibria/perennial-v2/contracts/interfaces/IMarket.sol";
import { IBatcher } from "@equilibria/emptyset-batcher/interfaces/IBatcher.sol";
import { IEmptySetReserve } from "@equilibria/emptyset-batcher/interfaces/IEmptySetReserve.sol";
import { UFixed6, UFixed6Lib } from "@equilibria/root/number/types/UFixed6.sol";
import { Fixed6, Fixed6Lib } from "@equilibria/root/number/types/Fixed6.sol";
import { Token6 } from "@equilibria/root/token/types/Token6.sol";
import { Token18 } from "@equilibria/root/token/types/Token18.sol";
import { UFixed6 } from "@equilibria/root/number/types/UFixed6.sol";
import { TriggerOrder } from "../types/TriggerOrder.sol";
import { InterfaceFee } from "../types/InterfaceFee.sol";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.13;
import { UFixed6, UFixed6Lib } from "@equilibria/root/number/types/UFixed6.sol";

import { UFixed6 } from "@equilibria/root/number/types/UFixed6.sol";

/// @dev Interface fee type
struct InterfaceFee {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.13;

import "@equilibria/root/number/types/UFixed6.sol";
import "@equilibria/perennial-v2/contracts/interfaces/IMarket.sol";
import "@equilibria/perennial-v2/contracts/types/Position.sol";
import "./InterfaceFee.sol";
import { UFixed6, UFixed6Lib } from "@equilibria/root/number/types/UFixed6.sol";
import { Fixed6, Fixed6Lib } from "@equilibria/root/number/types/Fixed6.sol";
import { OracleVersion } from "@equilibria/perennial-v2/contracts/types/OracleVersion.sol";
import { Position } from "@equilibria/perennial-v2/contracts/types/Position.sol";
import { InterfaceFee } from "./InterfaceFee.sol";

struct TriggerOrder {
uint8 side;
Expand Down
14 changes: 9 additions & 5 deletions packages/perennial-oracle/contracts/Oracle.sol
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity 0.8.24;

import "@equilibria/root/attribute/Instance.sol";
import "@equilibria/perennial-v2/contracts/interfaces/IOracleProviderFactory.sol";
import "@equilibria/perennial-v2/contracts/interfaces/IMarket.sol";
import "./interfaces/IOracle.sol";
import "./interfaces/IOracleFactory.sol";
import { UFixed6 } from "@equilibria/root/number/types/UFixed6.sol";
import { UFixed18Lib } from "@equilibria/root/number/types/UFixed18.sol";
import { Token18 } from "@equilibria/root/token/types/Token18.sol";
import { Instance } from "@equilibria/root/attribute/Instance.sol";
import { IOracleProvider} from "@equilibria/perennial-v2/contracts/interfaces/IOracleProvider.sol";
import { IMarket } from "@equilibria/perennial-v2/contracts/interfaces/IMarket.sol";
import { OracleVersion } from "@equilibria/perennial-v2/contracts/types/OracleVersion.sol";
import { OracleReceipt } from "@equilibria/perennial-v2/contracts/types/OracleReceipt.sol";
import { IOracle } from "./interfaces/IOracle.sol";

/// @title Oracle
/// @notice The top-level oracle contract that implements an oracle provider interface.
Expand Down
11 changes: 7 additions & 4 deletions packages/perennial-oracle/contracts/OracleFactory.sol
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity 0.8.24;

import "@equilibria/root/token/types/Token18.sol";
import "@equilibria/root/attribute/Factory.sol";
import "@equilibria/perennial-v2/contracts/interfaces/IOracleProviderFactory.sol";
import "./interfaces/IOracleFactory.sol";
import { UFixed6Lib } from "@equilibria/root/number/types/UFixed6.sol";
import { Token18 } from "@equilibria/root/token/types/Token18.sol";
import { Factory } from "@equilibria/root/attribute/Factory.sol";
import { IOracleProvider } from "@equilibria/perennial-v2/contracts/interfaces/IOracleProvider.sol";
import { IOracleProviderFactory } from "@equilibria/perennial-v2/contracts/interfaces/IOracleProviderFactory.sol";
import { IOracleFactory } from "./interfaces/IOracleFactory.sol";
import { OracleParameter, OracleParameterStorage } from "./types/OracleParameter.sol";
import { IOracle } from "./interfaces/IOracle.sol";

/// @title OracleFactory
/// @notice Factory for creating and managing oracles
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity 0.8.24;

import "../interfaces/IChainlinkFactory.sol";
import "../keeper/KeeperFactory.sol";
import { Math } from "@openzeppelin/contracts/utils/math/Math.sol";
import { UFixed18 } from "@equilibria/root/number/types/UFixed18.sol";
import { Fixed18Lib } from "@equilibria/root/number/types/Fixed18.sol";
import { IGasOracle } from "@equilibria/root/gas/GasOracle.sol";
import { IChainlinkFactory, IVerifierProxy, IFeeManager } from "../interfaces/IChainlinkFactory.sol";
import { KeeperFactory } from "../keeper/KeeperFactory.sol";

/// @title ChainlinkFactory
/// @notice Factory contract for creating and managing Chainlink oracles
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.13;

import "./IKeeperFactory.sol";
import { IKeeperFactory } from "./IKeeperFactory.sol";

interface IChainlinkFactory is IKeeperFactory {
error ChainlinkFactoryInputLengthMismatchError();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.13;

import "@equilibria/root/token/types/Token18.sol";
import "@equilibria/root/attribute/interfaces/IFactory.sol";
import "@equilibria/perennial-v2/contracts/interfaces/IOracleProviderFactory.sol";
import { UFixed6 } from "@equilibria/root/number/types/UFixed6.sol";
import { Fixed18 } from "@equilibria/root/number/types/Fixed18.sol";
import { IFactory } from "@equilibria/root/attribute/interfaces/IFactory.sol";
import { IOracleProvider } from "@equilibria/perennial-v2/contracts/interfaces/IOracleProvider.sol";
import { IOracleProviderFactory } from "@equilibria/perennial-v2/contracts/interfaces/IOracleProviderFactory.sol";
import { IGasOracle } from "@equilibria/root/gas/GasOracle.sol";
import "./IKeeperOracle.sol";
import "./IOracleFactory.sol";
import "./IPayoffProvider.sol";
import { IKeeperOracle } from "./IKeeperOracle.sol";
import { IOracleFactory } from "./IOracleFactory.sol";
import { IPayoffProvider } from "./IPayoffProvider.sol";
import { KeeperOracleParameter } from "../keeper/types/KeeperOracleParameter.sol";

interface IKeeperFactory is IOracleProviderFactory, IFactory {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.13;

import "@equilibria/root/attribute/interfaces/IInstance.sol";
import "@equilibria/perennial-v2/contracts/interfaces/IOracleProvider.sol";
import "@equilibria/perennial-v2/contracts/interfaces/IMarket.sol";
import "./IOracle.sol";
import { IInstance } from "@equilibria/root/attribute/interfaces/IInstance.sol";
import { IOracleProvider } from "@equilibria/perennial-v2/contracts/interfaces/IOracleProvider.sol";
import { IMarket } from "@equilibria/perennial-v2/contracts/interfaces/IMarket.sol";
import { OracleVersion } from "@equilibria/perennial-v2/contracts/types/OracleVersion.sol";
import { IOracle } from "./IOracle.sol";
import { PriceResponse } from "../keeper/types/PriceResponse.sol";

interface IKeeperOracle is IOracleProvider, IInstance {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.13;

import "@pythnetwork/pyth-sdk-solidity/PythStructs.sol";
import "./IKeeperFactory.sol";
import { PythStructs } from "@pythnetwork/pyth-sdk-solidity/PythStructs.sol";
import { IKeeperFactory } from "./IKeeperFactory.sol";

interface IMetaQuantsFactory is IKeeperFactory {
struct UpdateAndSignature {
Expand Down
9 changes: 5 additions & 4 deletions packages/perennial-oracle/contracts/interfaces/IOracle.sol
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.13;

import "@equilibria/root/number/types/UFixed6.sol";
import "@equilibria/root/token/types/Token18.sol";
import "@equilibria/root/attribute/interfaces/IInstance.sol";
import "@equilibria/perennial-v2/contracts/interfaces/IOracleProvider.sol";
import { UFixed6 } from "@equilibria/root/number/types/UFixed6.sol";
import { Token18 } from "@equilibria/root/token/types/Token18.sol";
import { IInstance } from "@equilibria/root/attribute/interfaces/IInstance.sol";
import { IOracleProvider } from "@equilibria/perennial-v2/contracts/interfaces/IOracleProvider.sol";
import { IMarket } from "@equilibria/perennial-v2/contracts/interfaces/IMarket.sol";

interface IOracle is IOracleProvider, IInstance {
// sig: 0x8852e53b
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.13;

import "@equilibria/root/token/types/Token18.sol";
import "@equilibria/root/attribute/interfaces/IFactory.sol";
import "@equilibria/perennial-v2/contracts/interfaces/IOracleProviderFactory.sol";
import "@equilibria/perennial-v2/contracts/interfaces/IMarket.sol";
import "./IOracle.sol";
import { Token18 } from "@equilibria/root/token/types/Token18.sol";
import { IFactory } from "@equilibria/root/attribute/interfaces/IFactory.sol";
import { IOracleProvider } from "@equilibria/perennial-v2/contracts/interfaces/IOracleProvider.sol";
import { IOracleProviderFactory } from "@equilibria/perennial-v2/contracts/interfaces/IOracleProviderFactory.sol";
import { IOracle } from "./IOracle.sol";
import { OracleParameter } from "../types/OracleParameter.sol";

interface IOracleFactory is IOracleProviderFactory, IFactory {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.13;

import "@equilibria/root/number/types/Fixed18.sol";
import { Fixed18 } from "@equilibria/root/number/types/Fixed18.sol";

interface IPayoffProvider {
function payoff(Fixed18 price) external pure returns (Fixed18 payoff);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.13;

import "./IKeeperFactory.sol";
import { IKeeperFactory } from "./IKeeperFactory.sol";

interface IPythFactory is IKeeperFactory {
// sig: 0x22445848
Expand Down
17 changes: 13 additions & 4 deletions packages/perennial-oracle/contracts/keeper/KeeperFactory.sol
Original file line number Diff line number Diff line change
@@ -1,12 +1,21 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.13;

import "@openzeppelin/contracts/utils/math/SafeCast.sol";
import "@equilibria/root/attribute/Factory.sol";
import { Math } from "@openzeppelin/contracts/utils/math/Math.sol";
import { SignedMath } from "@openzeppelin/contracts/utils/math/SignedMath.sol";
import { UFixed6 } from "@equilibria/root/number/types/UFixed6.sol";
import { Fixed6, Fixed6Lib } from "@equilibria/root/number/types/Fixed6.sol";
import { Fixed18, Fixed18Lib } from "@equilibria/root/number/types/Fixed18.sol";
import { Factory } from "@equilibria/root/attribute/Factory.sol";
import { IGasOracle } from "@equilibria/root/gas/GasOracle.sol";
import "../interfaces/IKeeperFactory.sol";
import "../interfaces/IOracleFactory.sol";
import { IOracleProvider } from "@equilibria/perennial-v2/contracts/interfaces/IOracleProvider.sol";
import { OracleVersion } from "@equilibria/perennial-v2/contracts/types/OracleVersion.sol";
import { IKeeperOracle } from "../interfaces/IKeeperOracle.sol";
import { IKeeperFactory } from "../interfaces/IKeeperFactory.sol";
import { IOracleFactory } from "../interfaces/IOracleFactory.sol";
import { IPayoffProvider } from "../interfaces/IPayoffProvider.sol";
import { KeeperOracleParameter, KeeperOracleParameterStorage } from "./types/KeeperOracleParameter.sol";
import { OracleParameter } from "../types/OracleParameter.sol";
import { DedupLib } from "./libs/DedupLib.sol";

/// @title KeeperFactory
Expand Down
16 changes: 12 additions & 4 deletions packages/perennial-oracle/contracts/keeper/KeeperOracle.sol
Original file line number Diff line number Diff line change
@@ -1,12 +1,20 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity 0.8.24;

import "@openzeppelin/contracts/utils/math/SafeCast.sol";
import "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
import "@equilibria/root/attribute/Instance.sol";
// import "@openzeppelin/contracts/utils/math/SafeCast.sol";
import { EnumerableSet } from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
import { UFixed6Lib } from "@equilibria/root/number/types/UFixed6.sol";
import { UFixed18Lib } from "@equilibria/root/number/types/UFixed18.sol";
import { Instance } from "@equilibria/root/attribute/Instance.sol";
import { IGasOracle } from "@equilibria/root/gas/GasOracle.sol";
import "../interfaces/IKeeperFactory.sol";
import { IMarket } from "@equilibria/perennial-v2/contracts/interfaces/IMarket.sol";
import { OracleVersion } from "@equilibria/perennial-v2/contracts/types/OracleVersion.sol";
import { OracleReceipt } from "@equilibria/perennial-v2/contracts/types/OracleReceipt.sol";
import { IKeeperFactory } from "../interfaces/IKeeperFactory.sol";
import { IKeeperOracle } from "../interfaces/IKeeperOracle.sol";
import { PriceResponse, PriceResponseStorage, PriceResponseLib } from "./types/PriceResponse.sol";
import { KeeperOracleParameter } from "./types/KeeperOracleParameter.sol";
import { IOracle } from "../interfaces/IOracle.sol";

/// @title KeeperOracle
/// @notice Generic implementation of the IOracle interface for keeper-based oracles.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity 0.8.24;

import {IMarket, OracleVersion, OracleReceipt } from "../interfaces/IKeeperFactory.sol";
import { IMarket } from "@equilibria/perennial-v2/contracts/interfaces/IMarket.sol";
import { OracleVersion } from "@equilibria/perennial-v2/contracts/types/OracleVersion.sol";
import { OracleReceipt } from "@equilibria/perennial-v2/contracts/types/OracleReceipt.sol";
import { PriceResponse } from "./types/PriceResponse.sol";
import { KeeperOracle } from "./KeeperOracle.sol";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.13;

import "@equilibria/root/number/types/UFixed6.sol";
import "@equilibria/perennial-v2/contracts/types/OracleVersion.sol";
import { UFixed6 } from "@equilibria/root/number/types/UFixed6.sol";

struct KeeperOracleParameter {
/// @dev The latest granularity setting in seconds
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.13;

import "@equilibria/root/number/types/UFixed6.sol";
import { UFixed6, UFixed6Lib } from "@equilibria/root/number/types/UFixed6.sol";
import { Fixed6 } from "@equilibria/root/number/types/Fixed6.sol";
import { OracleVersion } from "@equilibria/perennial-v2/contracts/types/OracleVersion.sol";
import { OracleReceipt } from "@equilibria/perennial-v2/contracts/types/OracleReceipt.sol";

Expand Down
Loading

0 comments on commit ab22885

Please sign in to comment.