Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {Ownable} from "solady/auth/Ownable.sol";
import {LibClone} from "solady/utils/LibClone.sol";
import {UpgradeableBeacon} from "solady/utils/UpgradeableBeacon.sol";
import {Initializable} from "solady/utils/Initializable.sol";
import "../interfaces/IAddressResolver.sol";
import "./interfaces/IAddressResolver.sol";
import {Forwarder} from "./Forwarder.sol";
import {AsyncPromise} from "./AsyncPromise.sol";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
// SPDX-License-Identifier: GPL-3.0-only
pragma solidity ^0.8.21;

import "../../interfaces/IAddressResolver.sol";
import "../../interfaces/IMiddleware.sol";
import "../../interfaces/IWatcherPrecompile.sol";
import "../../interfaces/IWatcherPrecompileConfig.sol";
import "../../interfaces/IWatcherPrecompileLimits.sol";
import "../../interfaces/IFeesManager.sol";
import "./interfaces/IAddressResolver.sol";
import "./interfaces/IMiddleware.sol";
import "./interfaces/IWatcherPrecompile.sol";
import "./interfaces/IWatcherPrecompileConfig.sol";
import "./interfaces/IWatcherPrecompileLimits.sol";
import "./interfaces/IFeesManager.sol";

/// @title AddressResolverUtil
/// @notice Utility contract for resolving system contract addresses
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
// SPDX-License-Identifier: GPL-3.0-only
pragma solidity ^0.8.21;

import {AddressResolverUtil} from "./utils/AddressResolverUtil.sol";
import {IPromise} from "../interfaces/IPromise.sol";
import {IAppGateway} from "../interfaces/IAppGateway.sol";
import {Initializable} from "solady/utils/Initializable.sol";
import {AsyncPromiseState} from "./utils/common/Structs.sol";
import {MAX_COPY_BYTES} from "./utils/common/Constants.sol";
import {LibCall} from "solady/utils/LibCall.sol";
import {IPromise} from "./interfaces/IPromise.sol";
import {IAppGateway} from "./interfaces/IAppGateway.sol";
import {AddressResolverUtil} from "./AddressResolverUtil.sol";
import {AsyncPromiseState} from "../utils/common/Structs.sol";
import {MAX_COPY_BYTES} from "../utils/common/Constants.sol";

abstract contract AsyncPromiseStorage is IPromise {
// slots [0-49] reserved for gap
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
// SPDX-License-Identifier: GPL-3.0-only
pragma solidity ^0.8.21;

import "../interfaces/IAddressResolver.sol";
import "../interfaces/IMiddleware.sol";
import "../interfaces/IAppGateway.sol";
import "../interfaces/IPromise.sol";
import "../interfaces/IForwarder.sol";
import {AddressResolverUtil} from "./utils/AddressResolverUtil.sol";
import {AsyncModifierNotUsed, NoAsyncPromiseFound, PromiseCallerMismatch, RequestCountMismatch, DeliveryHelperNotSet} from "./utils/common/Errors.sol";
import "./interfaces/IAddressResolver.sol";
import "./interfaces/IMiddleware.sol";
import "./interfaces/IAppGateway.sol";
import "./interfaces/IPromise.sol";
import "./interfaces/IForwarder.sol";
import {AddressResolverUtil} from "./AddressResolverUtil.sol";
import {AsyncModifierNotUsed, NoAsyncPromiseFound, PromiseCallerMismatch, RequestCountMismatch, DeliveryHelperNotSet} from "../utils/common/Errors.sol";
import "solady/utils/Initializable.sol";

/// @title Forwarder Storage
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
// SPDX-License-Identifier: GPL-3.0-only
pragma solidity ^0.8.21;

import "../protocol/utils/AddressResolverUtil.sol";
import "../AddressResolverUtil.sol";
import "../interfaces/IAppGateway.sol";
import "../interfaces/IForwarder.sol";
import "../interfaces/IMiddleware.sol";
import "../interfaces/IPromise.sol";

import {InvalidPromise, FeesNotSet, AsyncModifierNotUsed} from "../protocol/utils/common/Errors.sol";
import {FAST} from "../protocol/utils/common/Constants.sol";
import {InvalidPromise, FeesNotSet, AsyncModifierNotUsed} from "../../utils/common/Errors.sol";
import {FAST} from "../../utils/common/Constants.sol";

/// @title AppGatewayBase
/// @notice Abstract contract for the app gateway
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-3.0-only
pragma solidity ^0.8.21;

import {Read, Parallel, QueuePayloadParams, OverrideParams, CallType, WriteFinality, PayloadParams} from "../protocol/utils/common/Structs.sol";
import {Read, Parallel, QueuePayloadParams, OverrideParams, WriteFinality, PayloadParams} from "../../utils/common/Structs.sol";

/// @title IAppGateway
/// @notice Interface for the app gateway
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-3.0-only
pragma solidity ^0.8.21;

import {Bid, RequestMetadata, RequestParams} from "../protocol/utils/common/Structs.sol";
import {Bid, RequestMetadata, RequestParams} from "../../utils/common/Structs.sol";

interface IAuctionManager {
/// @notice Bids for an auction
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-3.0-only
pragma solidity ^0.8.21;

import {IsPlug} from "../protocol/utils/common/Structs.sol";
import {IsPlug} from "../../utils/common/Structs.sol";

/// @title IContractFactory
/// @notice Interface for contract factory functionality
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-3.0-only
pragma solidity ^0.8.21;

import {Bid, QueuePayloadParams, PayloadSubmitParams, AppGatewayWhitelistParams} from "../protocol/utils/common/Structs.sol";
import {Bid, QueuePayloadParams, PayloadSubmitParams, AppGatewayWhitelistParams} from "../../utils/common/Structs.sol";

interface IFeesManager {
function blockCredits(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-3.0-only
pragma solidity ^0.8.21;
import {PayloadSubmitParams, QueuePayloadParams, Bid, WriteFinality, BatchParams, CallType, Parallel, IsPlug, RequestMetadata} from "../protocol/utils/common/Structs.sol";
import {PayloadSubmitParams, QueuePayloadParams, Bid, WriteFinality, BatchParams, CallType, Parallel, IsPlug, RequestMetadata} from "../../utils/common/Structs.sol";

/// @title IMiddleware
/// @notice Interface for the Middleware contract
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-3.0-only
pragma solidity ^0.8.21;

import {DigestParams, ResolvedPromises, PayloadParams, TriggerParams, PayloadSubmitParams, Bid, RequestParams, RequestMetadata} from "../protocol/utils/common/Structs.sol";
import {DigestParams, ResolvedPromises, PayloadParams, TriggerParams, PayloadSubmitParams, RequestParams} from "../../utils/common/Structs.sol";
import {IWatcherPrecompileLimits} from "./IWatcherPrecompileLimits.sol";
import {IWatcherPrecompileConfig} from "./IWatcherPrecompileConfig.sol";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-3.0-only
pragma solidity ^0.8.21;

import {AppGatewayConfig, PlugConfig} from "../protocol/utils/common/Structs.sol";
import {AppGatewayConfig, PlugConfig} from "../../utils/common/Structs.sol";

/// @title IWatcherPrecompileConfig
/// @notice Interface for the Watcher Precompile system that handles payload verification and execution
Expand Down Expand Up @@ -59,4 +59,5 @@ interface IWatcherPrecompileConfig {
uint256 signatureNonce_,
bytes calldata signature_
) external;

}
24 changes: 24 additions & 0 deletions contracts/evmx/interfaces/IWatcherPrecompileLimits.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
// SPDX-License-Identifier: GPL-3.0-only
pragma solidity ^0.8.21;

import {LimitParams, UpdateLimitParams} from "../../utils/common/Structs.sol";

/// @title IWatcherPrecompileLimits
/// @notice Interface for the Watcher Precompile system that handles payload verification and execution
/// @dev Defines core functionality for payload processing and promise resolution
interface IWatcherPrecompileLimits {
function getTotalFeesRequired(
uint256 queryCount_,
uint256 finalizeCount_,
uint256 scheduleCount_,
uint256 callbackCount_
) external view returns (uint256);

function queryFees() external view returns (uint256);

function finalizeFees() external view returns (uint256);

function timeoutFees() external view returns (uint256);

function callBackFees() external view returns (uint256);
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ pragma solidity ^0.8.21;

import {ECDSA} from "solady/utils/ECDSA.sol";
import "solady/utils/Initializable.sol";
import "../utils/AccessControl.sol";
import "../../interfaces/IAuctionManager.sol";
import {IMiddleware} from "../../interfaces/IMiddleware.sol";
import {IFeesManager} from "../../interfaces/IFeesManager.sol";
import {AddressResolverUtil} from "../utils/AddressResolverUtil.sol";
import {AuctionClosed, AuctionAlreadyStarted, BidExceedsMaxFees, LowerBidAlreadyExists, InvalidTransmitter} from "../utils/common/Errors.sol";
import {TRANSMITTER_ROLE} from "../utils/common/AccessRoles.sol";
import "../interfaces/IAuctionManager.sol";
import {IMiddleware} from "../interfaces/IMiddleware.sol";
import {IFeesManager} from "../interfaces/IFeesManager.sol";
import "../../utils/AccessControl.sol";
import {AddressResolverUtil} from "../AddressResolverUtil.sol";
import {AuctionClosed, AuctionAlreadyStarted, BidExceedsMaxFees, LowerBidAlreadyExists, InvalidTransmitter} from "../../utils/common/Errors.sol";
import {TRANSMITTER_ROLE} from "../../utils/common/AccessRoles.sol";

/// @title AuctionManagerStorage
/// @notice Storage for the AuctionManager contract
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
// SPDX-License-Identifier: GPL-3.0-only
pragma solidity ^0.8.21;

import "../utils/AccessControl.sol";
import {RESCUE_ROLE} from "../utils/common/AccessRoles.sol";
import "../utils/RescueFundsLib.sol";
import {NotSocket} from "../utils/common/Errors.sol";
import "../../base/PlugBase.sol";
import "../../interfaces/IContractFactoryPlug.sol";
import {LibCall} from "solady/utils/LibCall.sol";
import {MAX_COPY_BYTES} from "../utils/common/Constants.sol";
import "../../utils/AccessControl.sol";
import {RESCUE_ROLE} from "../../utils/common/AccessRoles.sol";
import "../../utils/RescueFundsLib.sol";
import {NotSocket} from "../../utils/common/Errors.sol";
import {MAX_COPY_BYTES} from "../../utils/common/Constants.sol";
import "../interfaces/IContractFactoryPlug.sol";
import "../../protocol/base/PlugBase.sol";

/// @title ContractFactory
/// @notice Abstract contract for deploying contracts
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ pragma solidity ^0.8.21;
import {Ownable} from "solady/auth/Ownable.sol";
import "solady/utils/Initializable.sol";
import "solady/utils/ECDSA.sol";
import {IFeesPlug} from "../../interfaces/IFeesPlug.sol";
import "../../interfaces/IFeesManager.sol";
import {AddressResolverUtil} from "../utils/AddressResolverUtil.sol";
import {NotAuctionManager, InvalidWatcherSignature, NonceUsed} from "../utils/common/Errors.sol";
import {Bid, CallType, Parallel, WriteFinality, QueuePayloadParams, IsPlug, PayloadSubmitParams, RequestMetadata, UserCredits} from "../utils/common/Structs.sol";
import {IFeesPlug} from "../interfaces/IFeesPlug.sol";
import "../interfaces/IFeesManager.sol";
import {AddressResolverUtil} from "../AddressResolverUtil.sol";
import {NotAuctionManager, InvalidWatcherSignature, NonceUsed} from "../../utils/common/Errors.sol";
import {Bid, CallType, Parallel, WriteFinality, QueuePayloadParams, IsPlug, PayloadSubmitParams, RequestMetadata, UserCredits} from "../../utils/common/Structs.sol";

abstract contract FeesManagerStorage is IFeesManager {
// slots [0-49] reserved for gap
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ pragma solidity ^0.8.21;

import "solady/utils/SafeTransferLib.sol";
import "solady/tokens/ERC20.sol";
import "../../base/PlugBase.sol";
import "../utils/AccessControl.sol";
import {RESCUE_ROLE} from "../utils/common/AccessRoles.sol";
import {IFeesPlug} from "../../interfaces/IFeesPlug.sol";
import "../utils/RescueFundsLib.sol";
import {ETH_ADDRESS} from "../utils/common/Constants.sol";
import {InvalidTokenAddress, FeesAlreadyPaid} from "../utils/common/Errors.sol";
import "../../protocol/base/PlugBase.sol";
import "../../utils/AccessControl.sol";
import {RESCUE_ROLE} from "../../utils/common/AccessRoles.sol";
import {IFeesPlug} from "../interfaces/IFeesPlug.sol";
import "../../utils/RescueFundsLib.sol";
import {ETH_ADDRESS} from "../../utils/common/Constants.sol";
import {InvalidTokenAddress, FeesAlreadyPaid} from "../../utils/common/Errors.sol";

/// @title FeesManager
/// @notice Contract for managing fees on a network
Expand Down Expand Up @@ -125,6 +125,7 @@ contract FeesPlug is IFeesPlug, PlugBase, AccessControl {
) external onlyOwner {
_connectSocket(appGatewayId_, socket_, switchboard_);
}

/**
* @notice Rescues funds from the contract if they are locked by mistake. This contract does not
* theoretically need this function but it is added for safety.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
// SPDX-License-Identifier: GPL-3.0-only
pragma solidity ^0.8.21;

import "../../../interfaces/IMiddleware.sol";
import {IAddressResolver} from "../../../interfaces/IAddressResolver.sol";
import {IContractFactoryPlug} from "../../../interfaces/IContractFactoryPlug.sol";
import {IAppGateway} from "../../../interfaces/IAppGateway.sol";
import {IAuctionManager} from "../../../interfaces/IAuctionManager.sol";
import {IFeesManager} from "../../../interfaces/IFeesManager.sol";

import {NotAuctionManager, InvalidTransmitter, InvalidIndex} from "../../utils/common/Errors.sol";
import {DEPLOY, PAYLOAD_SIZE_LIMIT, REQUEST_PAYLOAD_COUNT_LIMIT} from "../../utils/common/Constants.sol";
import "../../interfaces/IMiddleware.sol";
import {IAddressResolver} from "../../interfaces/IAddressResolver.sol";
import {IContractFactoryPlug} from "../../interfaces/IContractFactoryPlug.sol";
import {IAppGateway} from "../../interfaces/IAppGateway.sol";
import {IAuctionManager} from "../../interfaces/IAuctionManager.sol";
import {IFeesManager} from "../../interfaces/IFeesManager.sol";

import {NotAuctionManager, InvalidTransmitter, InvalidIndex} from "../../../utils/common/Errors.sol";
import {DEPLOY, PAYLOAD_SIZE_LIMIT, REQUEST_PAYLOAD_COUNT_LIMIT} from "../../../utils/common/Constants.sol";

/// @title DeliveryHelperStorage
/// @notice Storage contract for DeliveryHelper
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ pragma solidity ^0.8.21;

import "solady/utils/Initializable.sol";
import {Ownable} from "solady/auth/Ownable.sol";
import {AddressResolverUtil} from "../../utils/AddressResolverUtil.sol";
import {AddressResolverUtil} from "../../AddressResolverUtil.sol";
import "./DeliveryHelperStorage.sol";

/// @notice Abstract contract for managing asynchronous payloads
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-3.0-only
pragma solidity ^0.8.21;

import {CallType, Parallel, WriteFinality} from "../utils/common/Structs.sol";
import {CallType, Parallel, WriteFinality} from "../../utils/common/Structs.sol";

library PayloadHeaderDecoder {
// Corrected mapping (most significant bits on the left):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ pragma solidity ^0.8.21;
import "solady/utils/Initializable.sol";
import {ECDSA} from "solady/utils/ECDSA.sol";
import {Ownable} from "solady/auth/Ownable.sol";
import "../../interfaces/IWatcherPrecompileConfig.sol";
import {AddressResolverUtil} from "../utils/AddressResolverUtil.sol";
import {InvalidWatcherSignature, NonceUsed} from "../utils/common/Errors.sol";
import "../interfaces/IWatcherPrecompileConfig.sol";
import {AddressResolverUtil} from "../AddressResolverUtil.sol";
import {InvalidWatcherSignature, NonceUsed} from "../../utils/common/Errors.sol";
import "./core/WatcherIdUtils.sol";

/// @title WatcherPrecompileConfig
Expand Down
Loading